如何在角度中检查表格的一些必要字段的有效性?

时间:2016-12-29 04:31:57

标签: javascript angularjs

我有一个名为“myForm”的表单,我有很多必填字段。

<input type="text" name="form.user.name" ng-model="form.user.name" required/>
<input type="text" name="form.user.email" ng-model="form.user.email" required/>
<input type="text" name="form.user.phone" ng-model="form.user.phone" required/>

<input type="text" name="form.user.accountNumber" ng-model="form.bank.accountNumber" required/>
<input type="text" name="form.user.accountName" ng-model="form.bank.accountName" required/>

现在我只想检查form.user信息的有效性。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

首先浏览此链接 https://docs.angularjs.org/guide/forms

自定义验证示例

change_to_error

<form name="form" class="css-form" novalidate> <div> <label> Size (integer 0 - 10): <input type="number" ng-model="size" name="size" min="0" max="10" integer />{{size}}</label><br /> <span ng-show="form.size.$error.integer">The value is not a valid integer!</span> <span ng-show="form.size.$error.min || form.size.$error.max"> The value must be in range 0 to 10!</span> </div> </form> 的以下行中,ng-show是表单名称,form是输入字段名称,size是存储失败验证程序的默认对象。 $error是一个执行输入字段验证的指令。

integer

<强>脚本

<span ng-show="form.size.$error.integer">The value is not a valid integer!</span>

答案 1 :(得分:1)

你可以试试..

当您在ngApp中放置<form>标记时,AngularJS会自动添加表单控制器(实际上有一个指令,称为form,添加了非必要的行为)。

因此,要检查表单有效性,您可以检查范围的$scope.yourformname.$valid属性的值。

每个输入name的验证信息都以form的名称在范围内公开。

HTML

<form name="someForm" action="/">
    <input name="username" required />
    <input name="password" type="password" required />
</form>

JS

$scope.someForm.username.$valid
// > false
$scope.someForm.password.$error
// > { required: true }

您可以在开发者Guide部分获取有关表单的更多信息。

答案 2 :(得分:0)

参考角度验证https://docs.angularjs.org/guide/forms 给出不同的名字。你被赋予最后三种输入类型的同名。

   <input type="text" name="form.user.name" ng-model="form.user.name" required/>
<input type="text" name="form.user.email" ng-model="form.user.email" required/>
<input type="text" name="form.user.phone" ng-model="form.user.phone" required/> // same name all three name="form.user.phone"

<input type="text" name="form.user.phone" ng-model="form.bank.accountNumber" required/> // same name all three name="form.user.phone"
<input type="text" name="form.user.phone" ng-model="form.bank.accountName" required/> // same name all three name="form.user.phone"