@ramesh2908/email-validator
v1.0.0
Published
A small, dependency-free email validator for Angular, React, and JavaScript applications.
Maintainers
Readme
@ramesh2908/email-validator
A dependency-free TypeScript email validator that works in Angular, React, Node.js, and browser applications.
Install
npm install @ramesh2908/email-validatorThis package is published under the npm username ramesh2908.
Core API
import { isValidEmail, validateEmail } from "@ramesh2908/email-validator";
isValidEmail("[email protected]"); // true
const result = validateEmail("not-an-email");
if (!result.valid) console.log(result.code, result.message);React
import { useState } from "react";
import { getEmailError } from "@ramesh2908/email-validator";
export function EmailField() {
const [email, setEmail] = useState("");
const error = getEmailError(email);
return (
<label>
Email
<input value={email} onChange={(event) => setEmail(event.target.value)} />
{error && <span role="alert">{error}</span>}
</label>
);
}Angular reactive forms
import { FormControl, Validators } from "@angular/forms";
import { emailValidator } from "@ramesh2908/email-validator";
const email = new FormControl("", {
validators: [Validators.required, emailValidator()],
});The Angular adapter treats an empty value as valid by default so it composes with Validators.required. Pass { allowEmpty: false } if it should enforce required input itself.
Publish
npm test
npm publish --access public