我是angularjs的新手,我需要开发单页面应用程序。我需要实现角度验证。
我在页面上有10个字段(输入,选择和列表框)和2个按钮(保存并提交)。当我点击保存时,6个字段(例如)应该有有效值,当我点击提交按钮时,应该检查8个字段。
但问题是。如果我在页面上使用了表单标签,那么如何实现这些验证。
我们将不胜感激。
答案 0 :(得分:0)
将此代码写入控制器
obj.hasErrorWithsubmit = function (form, field, validation) {
if (validation) {
return ($scope.submitted && form[field].$error[validation]);
}
return (form[field].$dirty && form[field].$invalid) || ($scope.submitted && form[field].$invalid);
};
obj.hasErrorWithsave = function (form, field, validation) {
if (validation) {
return ($scope.save && form[field].$error[validation]);
}
return (form[field].$dirty && form[field].$invalid) || ($scope.submitted ``&& form[field].$invalid); };
在html中写下
ng-class="{'classname':obj.hasErrorWithsubmit(Formname,'fieldname','validationType')}">
即
ng-class="{'classname':obj.hasErrorWithsubmit(myform,'textfield1','required')}">
ng-class="{'classname':obj.hasErrorWithsave (myform,'textfield2','required')}">
classname是一个使边框变为红色的css类
点击提交按钮,使$ scope.submitted = true 通过单击保存按钮,使$ scope.save = true