AngularJS:如何验证日期格式(DD / MM / YYYY)时,手动输入 [英] AngularJS: How to validate date format (DD/MM/YYYY) when manual enter

查看:1590
本文介绍了AngularJS:如何验证日期格式(DD / MM / YYYY)时,手动输入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用角JS 1.4版本。我选中该<一个href=\"http://stackoverflow.com/questions/14146655/angularjs-how-to-validate-date-in-us-format\">link并与常规的前pression检查过,但没有帮助我。当我尝试'2013-11-33'(在上面的链接),它的真正的验证,这是不对的。

I am use angular js 1.4 version. I am checked this link and checked with regular expression too, but not help me. When I try '2013-11-33' (in above link), its validate true, which is wrong.

在这里输入的形象描述

这是我的HTML

.. <div class="form-item">
    <!--<input required ng-model="dob" placeholder="Date of Birth* dd/mm/yyyy" class="textbox-n dob" type="text" onfocus="(this.type='date')" id="dobTxt" name="dobTxt" min="1910-01-01" max="2013-12-31">-->
    <input required ng-model="user.dob" placeholder="Date of Birth* dd/mm/yyyy" class="dob" type="text" id="dobTxt" name="dobTxt">    
</div> 
.....
<!--Validation Summary-->
                <div class="alert alert-danger validationSum" role="alert" style="margin-bottom: -20px;"
                     ng-show="submitted &&
                     (registerForm.genderSelect.$error.required
                     || registerForm.firstNameTxt.$error.required || registerForm.lastNameTxt.$error.required
                     || registerForm.dobTxt.$error.required || registerForm.dobTxt.$error.date
                     || registerForm.mobileTxt.$error.required
                     || registerForm.emailTxt.$error.required || registerForm.emailTxt.$error.email || (user.email != confirmEmail) || emailExist
                     || registerForm.pharmacySelect.$error.required)">
                    <ul>
                        <li ng-show="registerForm.genderSelect.$error.required">
                            Gender is required.
                        </li>
                        <li ng-show="registerForm.firstNameTxt.$error.required">
                            First name is required.
                        </li>
                        <li ng-show="registerForm.lastNameTxt.$error.required">
                            Last name is required.
                        </li>
                        <li ng-show="registerForm.dobTxt.$error.required">
                            Date of birth is required.
                        </li>
                        <li ng-show="registerForm.dobTxt.$error.date">
                            Not a valid date!
                        </li>
                        <li ng-show="registerForm.mobileTxt.$error.required">
                            Contact number is required.
                        </li>
                        <li ng-show="registerForm.emailTxt.$error.required">
                            Email is required.
                        </li>
                        <li ng-show="registerForm.emailTxt.$error.email">
                            Invalid email.
                        </li>
                        <li ng-show="isEmailMatched = (user.email != confirmEmail)">
                            Emails have to match!
                        </li>
                        <li ng-show="registerForm.pharmacySelect.$error.required">
                            Preferred pharmacy is required.
                        </li>
                        <li ng-show="emailExist">
                            This email has already been used to complete a questionnaire. Please contact your practitioner for your assessment.
                        </li>
                    </ul>
                </div>

问题是,当我进入了错误的日期,它没有被解雇。我尝试了一些其他的链接和plunker变化,但没有解决问题。

Issue is when I entered wrong date , it is not fired. I tried some other links and plunker changes, but not resolve the issue.

推荐答案

的问题是,你是不是验证 user.dob 的任何地方。你只检查是否 dobTxt 具有输入日期的形式,但不是是否是一个有效的日期。 <一href=\"http://stackoverflow.com/questions/6177975/how-to-validate-date-with-format-mm-dd-yyyy-in-javascript\">Here和这里是如何验证日期的一些例子。

The issue is that you aren't validating user.dob anywhere. You only check to see if dobTxt has input in the form of a date, but not whether or not that is a valid date. Here and here are some examples of how to validate a date.

这篇关于AngularJS:如何验证日期格式(DD / MM / YYYY)时,手动输入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆