我在表单中有以下内容以进行验证,应该发生的情况是,当用户单击"is"或“否”时,显示/隐藏了用户单击公民单选按钮“sno”。但是我需要在用户同时单击“否”时删除“sno”的“必需”属性,以防止验证“sno”。
<input type="radio" ng-model="citizen" value="Yes" citizen-check>Yes
<input type="radio" ng-model="citizen" value="No">No
<div ng-show='enableNo()'>
<div id="view">
<input type="text" id="sno" name="sno" required>
</div>
</div>
<div ng-hide='enableNo()'>
<div id="view">
<input type="text" id="pno" name="pno" required>
</div>
</div>
在 Controller 内部,我有以下显示/隐藏功能,
$scope.enableNo= function()
{
$log.log('enableNo called');
if($scope.citizen == 'Yes')
{
return true;
}
else
{
return false;
}
}
如何编写指令以删除“sno”的“required”属性?
最佳答案
使用ngRequired
。
当ngRequired表达式的值为true时,ngRequired
将required
属性和required
验证约束添加到元素。
<!-- adds 'required' attribute when ngRequired expression evaluates to true -->
<input type="text" id="sno" name="sno" ng-required="citizen == 'Yes'">