2017-02-19 52 views
1

我最近开始在AngularJS工作。我试图验证单选按钮: -单选按钮验证不起作用Angular JS

<input type="radio" ng-model="CustGender" name="uCustGender" value="Male" required /> Male 
 
          <input type="radio" ng-model="CustGender" name="uCustGender" value="Female" required /> Female 
 
          <span class="error" ng-show="(f1.uCustGender.$dirty || submitted) && f1.uCustGender.$error.required">Gender required!</span> 
 

 
<input id="Submit1" type="submit" value="Submit" class="btn btn-success" />

但它不验证上按钮的点击。我正在寻找解决方案,并遇到了一些链接Using Angular to validate radio button choice,但他们似乎有不同的方法。 请帮助。

回答

0

您需要使用f1.$submitted而不是submitted代替ng-show假设'f1'是表单名称。

<form name="f1" novalidate ng-submit="submit()"> 
    <input type="radio" ng-model="CustGender" name="uCustGender" value="Male" required /> Male 
    <input type="radio" ng-model="CustGender" name="uCustGender" value="Female" required /> Female 
    <span class="error" ng-show="(f1.uCustGender.$dirty || f1.$submitted) && f1.uCustGender.$error.required">Gender required!</span> 

    <input id="Submit1" type="submit" value="Submit" class="btn btn-success" /> 
</form> 
+0

由于它的工作!但你能解释一下吗?我有另一个输入日期参数​​,它可以正确的与'submit'一起工作: - 需要出生日期!但不是单选按钮。 – Deepak

+0

此外这不工作: - 描述是否必需! Deepak

+0

f1。$在您提交表格时提交的集合,除非明确完成,否则只有“已提交”才会设置或重置。 –

0

我希望你在表单标签包围他们,并在表中提及novalidate属性是这样的:

<form name="f1" ng-submit="submitTeamMember($event)" novalidate class="form-horizontal" enctype="multipart/form-data" method="post" ng-controller="userFormModalCtrl"> 
<input type="radio" ng-model="CustGender" name="uCustGender" value="Male" required /> Male 
          <input type="radio" ng-model="CustGender" name="uCustGender" value="Female" required /> Female 
          <span class="error" ng-show="(f1.uCustGender.$dirty || submitted) && f1.uCustGender.$error.required">Gender required!</span> 

<input id="Submit1" type="submit" value="Submit" class="btn btn-success" /> 
</form>