【问题标题】:AngularJs Form validation when select radio buttons选择单选按钮时的AngularJs表单验证
【发布时间】:2018-11-23 10:08:13
【问题描述】:

嗨,我是 angularJS 的学习者,在我的表单中,我有姓名和电子邮件字段以及一个用于性别选择的无线电组,我的要求是当我选择男性时,需要姓名字段,如果我选择女性,则需要电子邮件字段

我尝试了下面的代码,但它不起作用,请有人帮助我

代码:

<form class="form-horizontal alert alert-warning" name="empList" id="empForm" ng-submit="insertInfo(empInfo)">

    <h3 class="text-center">Insert Employee Details Into Database</h3>

    <div class="form-group">
        <label for="Name">Employee Name:</label>
        <input type="text" name="emp_name" class="form-control" placeholder="Enter Employee Name" ng-model="empInfo.name"
            required="gender.value=='male'" />
    </div>

    <div class="form-group">
        <p class="text-danger" ng-show="empList.emp_name.$invalid">Name field is Empty!</p>
    </div>

    <div class="form-group">
        <label for="Email">Email Address:</label>
        <input type="email" name="emp_email" class="form-control" placeholder="Enter Employee Email Address" ng-model="empInfo.email"
            autofocus  required="gender.value=='female'"/>
    </div>
    <div class="form-group">
        <p class="text-danger" ng-show="empList.emp_email.$invalid>Invalid Email!</p>
    </div>

    <div class="form-group">
        <label for="Gender">Gender:</label>
        <label for="" class="radio-inline gender">
            <input type="radio" name="emp_gender" value="male" ng-model="empInfo.gender" #gender="ng-model">Male
        </label>
        <label for="" class="radio-inline gender">
            <input type="radio" name="emp_gender" value="female" ng-model="empInfo.gender" #gender="ng-model">Female
        </label>
    </div>

</form>

【问题讨论】:

  • 1.选择性别时显示性别对象的日志。 2. 尝试将“required”改为“ng-required”。
  • user = { "name": "zf", "gender": "male" }
  • 请给我推荐代码
  • 尝试将 required="gender.value=='male'" 更改为 ng-required="gender.value=='male'"
  • 不,它不工作

标签: angularjs


【解决方案1】:

也许可以试试这个验证: HTML:

      <form class="form-horizontal alert alert-warning" name="empList" id="empForm" ng-submit="insertInfo(empInfo)">

    <h3 class="text-center">Insert Employee Details Into Database</h3>

    <div class="form-group">
        <label for="Name" ng-show="empInfo.gender != male_value">Employee Name is required</label>
        <input type="text" name="emp_name" class="form-control" placeholder="Enter Employee Name" ng-model="empInfo.name"
            required="gender.value=='male'" />
    </div>

    <div class="form-group">
        <p class="text-danger" ng-show="empList.emp_name.$invalid">Name field is Empty!</p>
    </div>

    <div class="form-group">
        <label for="Email" ng-show="empInfo.gender == male_value">Email Address is rquired</label>
        <input type="email" name="emp_email" class="form-control" placeholder="Enter Employee Email Address" ng-model="empInfo.email"
              required="gender.value=='female'"/>
    </div>
    <div class="form-group">
        <p class="text-danger" ng-show="empList.emp_email.$invalid">Invalid Email!</p>
    </div>

    <div class="form-group">
        <label for="Gender">Gender:</label>
        <label for="" class="radio-inline gender">
            <input type="radio" name="emp_gender" ng-value="male_value" ng-model="empInfo.gender">Male
        </label>
        <label for="" class="radio-inline gender">
            <input type="radio" name="emp_gender" ng-value="female" ng-model="empInfo.gender" >Female
        </label>
    </div>

</form>

JS:

 $scope.male_value = 'male';

plunker:http://plnkr.co/edit/Hi5t1gU5TIdNx670wHo1?p=preview

【讨论】:

  • 我的代码做错了什么,请建议我的代码
  • 我在 js 中什么也没做,如果没有 js 代码我们不能这样做吗?
  • 请建议使用单选按钮而不是按钮
  • @Krish 立即查找
猜你喜欢
  • 2016-03-01
  • 2014-09-01
  • 2016-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-16
  • 1970-01-01
  • 2016-04-22
相关资源
最近更新 更多