我有一个输入字段,可以接受电子邮件地址或电话号码作为输入。如果用户输入电子邮件地址,则希望使用validators.email进行验证,如果用户输入电话号码,则希望使用仅接受validatiors.pattern(regularexpression)等数字的模式进行验证。我使用过反应形式验证。
我们怎么做?
答案 0 :(得分:0)
您可以使用ng-pattern。
实施例,
<强> HTML 强>
<input type="text" ng-model="..." ng-required="requireTel"
ng-pattern="phoneNumPattern" />
<强>脚本强>
$scope.phoneNumPattern = (function() {
var regexp = /^\(?(\d{3})\)?[ .-]?(\d{3})[ .-]?(\d{4})$/;
return {
test: function(value) {
if( $scope.requireTel === false ) {
return true;
}
return regexp.test(value);
}
};
})();