Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
angular-validation-match
Advanced tools
Checks if one input matches another. Useful for confirming passwords, emails, or anything.
The match
attribute should be set equal to the ng-model value of the field to match.
Demo: http://jsfiddle.net/TheSharpieOne/r6Ltru6c/
bower install angular-validation-match
Then add validation.match
to your angular dependencies
Note: For angular 1.2 or lower use bower install angular-validation-match#1.3
Also: npm install angular-validation-match
Simple Property Example
Password: <input ng-model="password" type="password" />
Confirm: <input ng-model="passwordConfirm" type="password" match="password" />
Object Property Example
Password: <input ng-model="user.password" type="password" />
Confirm: <input ng-model="user.passwordConfirm" type="password" match="user.password" />
Case insensitive (caseless) Example
Password: <input ng-model="user.password" type="password" />
Confirm: <input ng-model="user.passwordConfirm" type="password" match="user.password" match-caseless="true" />
match-caseless
can accept a scoped variable to allow the matching to be toggle-able between case insensitive and case sensitive. Default: false
Not Match Example
Sometimes you want to ensure the values do not match, in that case you can use the not-match
flag.
This also works in combination with match-caseless
(if you want to not match case insensitively).
Password: <input ng-model="user.password" type="password" />
Confirm: <input ng-model="user.passwordConfirm" type="password" match="user.password" not-match="true" />
not-match
can accept a scoped variable (true
/false
) to be toggle-able between matching and not matching. Default: false
Ignore empty Example
Password: <input ng-model="user.password" type="password" />
Confirm: <input ng-model="user.passwordConfirm" type="password" match="user.password" match-ignore-empty="true" />
match-ignore-empty
can accept a scoped variable to disable validating an empty input. Default: false
Display Custom Error
If your form and field both are named, you can access the validation result to show/hide messages.
<form name="myForm">
Password: <input ng-model="user.password" type="password" name="passwordName" />
Confirm: <input ng-model="user.passwordConfirm" type="password" match="user.password" name="myConfirmField" />
<div ng-show="myForm.myConfirmField.$error.match">Fields do not match!</div>
</form>
Validate Against the $viewValue
shown in the input
The internal value ($modelValue
) can differ from the external value ($viewValue
) as appears in the input field shown to the user. If your form and field both are named, you can validate against value displayed in the field, even if the field is invalid.
<form name="myForm">
Password: <input ng-model="user.password" type="password" name="myPasswordField" />
Confirm: <input ng-model="user.passwordConfirm" type="password" match="myForm.myPasswordField" name="myConfirmField" />
</form>
Note: $viewValue
s are specific to fields/elements, not models. Different fields with the same ngModel
and have different $viewValue
s. Becuase of this, you need to use the form directive (assigning a name
to a form tag) in combination with the specific field's name attribute to specific which field/element you want to match in particular.
FAQs
Checks if one input matches another
We found that angular-validation-match demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.