AngularJs 服务器端验证
AngularJs Server side validation
我正在使用 angularjs 提交一个非常简单的表单...
我必须在我的表格中插入一个数字代码。代码必须验证服务器端,调用外部服务。当我得到承诺时,我想检查代码是否正确。
如果代码不正确,我想在文本框中设置一个红色边框并显示一条消息...这里是 html
<input name="code" type="text" style="width:155px;" data-ng-model="Codice"
data-ng-required="true" data-ng-pattern="/^(\d){22}$/" data-ng-model-options="{ updateOn: 'mousedown blur' }" />
<span data-ng-show="myform.code.$error.pattern" class="error">Codice non valido</span>
现在我让你看看我在控制器中做了什么
if (response.Result == "1")
{
myform.code.$error.pattern = true;
}
这样我只看到消息,但文本框的边框仍然是黑色...所以我试过:
if (response.Result == "1")
{
myform.code.$setValidity('mismatch',false);
}
但是这样一来,即使我修改了代码,模型仍然是"not valid",所以我不能再post了...
有什么解决办法吗?
谢谢
在您的 html 中创建一个 span 用于自定义验证
<span class="help-block" ng-show="myform.name.$error.ntValidName">Not valid name</span>
然后在控制器中这样设置有效性,如果无效则
myform.name.$setValidity("ntValidName", false);
这样您就可以创建自定义验证
我正在使用 angularjs 提交一个非常简单的表单... 我必须在我的表格中插入一个数字代码。代码必须验证服务器端,调用外部服务。当我得到承诺时,我想检查代码是否正确。 如果代码不正确,我想在文本框中设置一个红色边框并显示一条消息...这里是 html
<input name="code" type="text" style="width:155px;" data-ng-model="Codice"
data-ng-required="true" data-ng-pattern="/^(\d){22}$/" data-ng-model-options="{ updateOn: 'mousedown blur' }" />
<span data-ng-show="myform.code.$error.pattern" class="error">Codice non valido</span>
现在我让你看看我在控制器中做了什么
if (response.Result == "1")
{
myform.code.$error.pattern = true;
}
这样我只看到消息,但文本框的边框仍然是黑色...所以我试过:
if (response.Result == "1")
{
myform.code.$setValidity('mismatch',false);
}
但是这样一来,即使我修改了代码,模型仍然是"not valid",所以我不能再post了...
有什么解决办法吗? 谢谢
在您的 html 中创建一个 span 用于自定义验证
<span class="help-block" ng-show="myform.name.$error.ntValidName">Not valid name</span>
然后在控制器中这样设置有效性,如果无效则
myform.name.$setValidity("ntValidName", false);
这样您就可以创建自定义验证