如何在表中设置AngularJS表单验证

时间:2018-08-03 07:41:19

标签: angularjs

  

我有一个包含某些字段的表,我想将该表提交到数据库,但是我希望将它们验证为必需字段,因此我将该表放入表单中并尝试对其进行验证

要验证的表单(仅必需):

<form id="trip-send-form">

    <!--some field , this field is validated to be required successfully-->
    <input type="text" 

    <!--but the fields here, are not being set to be required-->
    <table>
        <tbody ng-repeat="item in items">
            <tr>

                <td><input type="checkbox" ng-model="item.setRequired"</td>
                <td><input type="text" ng-model="name" ng-required="item.setRequired" /></td>

            </tr>
        </tbody>
    </table>

    <input type="submit"/>

</form>

控制器:

$('#send-trip-form').validator({
    focus: false,
    feedback: {
       success: 'fa fa-ok',
       error: 'fa fa-remove'
    }
})
$('#send-trip-form').validator().on('submit', function(e) {
    if (e.isDefaultPrevented()) {
        console.log( "error" );
    } else {
        console.log( "success" );
    }
})

我正在等待您的友好答复。

谢谢。

1 个答案:

答案 0 :(得分:1)

不需要jQuery使用表单验证,您可以了解有关angularjs表单验证here

的很多知识

这里是fiddle

您可以看到必填的第一个输入:

<input type="text" ng-model="myModel" required />

在下面,您可以看到在控制器中初始化的项目列表以及动态完成的验证:

<tr ng-repeat="item in items">
    <td><input type="checkbox" ng-model="item.setRequired"</td>
    <td><input type="text" ng-model="name" ng-required="item.setRequired" /></td>
</tr>

控制器初始化:

$scope.items =[
    {setRequired: false},
    {setRequired: true}
]; 

然后使用表单验证器的提交按钮:

<input type="submit" ng-disabled="myForm.$invalid"/>

myForm是form<form id="trip-send-form" name="myForm" ng-submit="submitted()">)的名称,需要使用验证程序。

submitted()函数将在提交时被调用,它也是在控制器中定义的函数。

jQuery和Angularjs是两个不同的东西,使用angularjs时,您应该能够避免99%的时间使用jQuery。