簡體   English   中英

日期上的AngularJs驗證在IE和Mozilla中不起作用

[英]AngularJs Validation on Date doesn't work in IE and Mozilla

我的問題是,當我在輸入日期(2016年4月29日) birthdate時,我嘗試將輸入類型的日期放在birthdate時,所需的仍顯示,並且不會讓我提交表單。 當我試圖刪除我的birthdate輸入所需的屬性時它工作得很好......但我想要的是讓birthdate需要....我不知道為什么它不會在日期工作,而它工作得很好其他必需的輸入,如full_namegenderemail

由於html5在Mozilla和IE中不起作用,我使用插件才能工作。

    <!--HTML5 Date and Month Input Compatibility-->
    <!-- cdn for modernizr-->
    <script src="http://cdn.jsdelivr.net/webshim/1.12.4/extras/modernizr-custom.js"></script>
    <!-- polyfiller file to detect and load polyfills -->
    <script src="http://cdn.jsdelivr.net/webshim/1.12.4/polyfiller.js"></script>
    <!--end of compatibility-->
    <script>
      webshims.setOptions('waitReady', false);
      webshims.setOptions('forms-ext', {types: 'date'});
      webshims.polyfill('forms forms-ext');
    </script>

提交按鈕

    <button type="submit" form="form-customer"
            class="btn btn-primary pull-right" id="cmd_insert_customer" ng-show="tab == 3">
     Insert Customer
    </button>

形成

   <div class="row" ng-show="tab == 3">
        <div class="col-md-12">
        <form name="form" ng-submit="form.$valid && insertCustomer(form)" id="form-customer" class="css-form" novalidate >
            <div class="row">
                <div class="col-xs-4">
                    <div class="row">
                        <div class="col-xs-12">
                            <img src="{{profilePic}}" id="profile_picture" class="img-responsive img-thumbnail"  />
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-xs-12"> 
                            <input type="file" name="image_path" id="image" class="form-control" onchange="angular.element(this).scope().uploadFile(this.files)"  />
                        </div>  
                    </div>
                </div>
                <div class="col-xs-8">
                    <div class="row">
                        <div class="col-md-7">
                            <label>Full Name* 
                            <span class="required-label" ng-show="form.$submitted || form.full_name.$touched">
                                <span ng-show="form.full_name.$error.required">(Full Name is required.)</span>
                            </span>
                            </label>
                            <input type="text" ng-model="insertProfile.full_name" name="full_name" class="form-control" required="" />
                        </div>
                    </div>
                    <br />
                    <div class="row">
                        <div class="col-md-7">
                            <label>Gender*
                            <span class="required-label" ng-show="form.$submitted || form.gender.$touched">
                                <span ng-show="form.gender.$error.required">(Gender is required.)</span>
                            </span>
                            </label>
                            <select name="gender" class="form-control" ng-model="insertProfile.gender" required >
                            <option value ="">Select Gender</option>
                            <option value = "M">Male</option>
                            <option value = "F">Female</option>
                        </select>
                        </div>
                    </div>
                    <br />
                    <div class="row">
                        <div class="col-md-7">
                            <label>Birth Date*
                            <span class="required-label" ng-show="form.$submitted || form.birth_date.$touched">
                                <span ng-show="form.birth_date.$error.required">(Birthdate is required.)</span>
                            </span>
                            </label>
                            <input type="date" name="birth_date" class="form-control" ng-model="insertProfile.birth_date" required />
                        </select>
                        </div>
                    </div>
                </div>
            </div>
            <br />  
                <div class="row">
                <div class="col-md-5">
                    <label>Mobile #</label>
                    <input type="number" name="mobile" value="" class="form-control" ng-model="insertProfile.mobile" />
                </div>
                <div class="col-md-5">
                    <label>Email* 
                    <span class="required-label" ng-show="form.email.$error.email">(Invalid email address.)</span> 
                    <span class="required-label" ng-show="form.$submitted || form.email.$touched">
                        <span ng-show="form.email.$error.required">(Email is required.)</span>
                    </span>
                    </label>
                    <input type="email" name="email" value="" class="form-control" ng-model="insertProfile.email" required />
                </div>
            </div>
            <br />
                <div class="row">
                <div class="col-md-5">
                    <label>City</label>
                    <input type="text" name="city" value="" class="form-control" ng-model="insertProfile.city" />
                </div>
                <div class="col-md-5">
                    <label>Address</label>
                    <textarea name="address" class="form-control" rows="4" cols="50" ng-model="insertProfile.address" ></textarea>
                </div>
            </div>
        </form>
        </div>  
    </div>

我認為它不起作用,因為AngularJS使用ISO-8601格式驗證類型日期,即yyyy-mm-dd 因此,使用yyyy / mm / dd輸入日期將導致觸發錯誤的格式無效。 請在此處閱讀AngularJS文檔以獲取更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM