Ng minlength无法使用自定义验证
Ng-minlength not working with custom validation
我正在使用angularJS,我正在尝试创建一个表单,让用户键入他的用户名,并验证应用程序是否在数据库中可用,并且他的长度在5/10个字符之间。
<input type="text" name="uname" ng-model="user.uname"
ng-minlength="5" ng-maxlength="10" uniqueusername required/>
Uniqueusername是一个检查用户名是否可用的指令:
app.directive('uniqueusername', function($http){
return{
require : 'ngModel',
restrict : 'A',
link : function(scope,elem,attrs,ctrl){
ctrl.$parsers.unshift(function(value) {
$http.get('/api/check'+value).success(function(data,status){
if(data.available=='true'){
ctrl.$setValidity('unique',true);
}
else{
ctrl.$setValidity('unique',false);
.........................................................................
当我键入一个少于5个字符的用户名时,它是有效的。这不应该发生。如果我删除uniqueusername作为输入,它可以完美地工作。
谢谢你的回答。
您必须从解析器函数返回一个值:
app.directive('uniqueusername', function($http){
return{
require : 'ngModel',
restrict : 'A',
link : function(scope,elem,attrs,ctrl){
ctrl.$parsers.unshift(function(value) {
$http.get('/api/check'+value).success(function(data,status){
if(data.available=='true'){
ctrl.$setValidity('unique',true);
}
else{
ctrl.$setValidity('unique',false);
}
}
return value;
}
}
});
相关文章:
- jQuery自定义验证比较多个输入的序列
- 自定义验证器不工作
- 自定义验证并格式化从数据数据库返回的响应-BEGINNER
- Asp自定义验证器在IE-11中不起作用
- 使用javascript&自定义验证器检查开始日期和结束日期
- 使用 Jquery 使取消按钮绕过自定义验证
- 自定义验证器未启动
- jQuery自定义验证只显示最后一个字段的错误
- 自定义验证-澄清
- Kendo UI自定义验证不适用于模板和视图模型
- 自定义验证在服务器端有效,但在客户端无效
- 客户端自定义验证不是't正在执行
- 如何使用组件和自定义验证实现Angular 1 Form
- 是否可以有条件地添加角度自定义验证约束
- AngularJS摘要周期错误,ngmodel在自定义验证时被删除
- 正在向输入字段添加自定义验证
- Kendo UI网格自定义验证消息
- 自定义验证程序客户端验证函数未触发
- 具有最大大小和自定义验证器的挖空可选验证
- 为什么我在自定义验证后无法输入 % 符号