GVKun编程网logo

HTML5 中是否有 minlength 验证属性?(html认证)

14

本文将分享HTML5中是否有minlength验证属性?的详细内容,并且还将对html认证进行详尽解释,此外,我们还将为大家带来关于Angular2表单验证,minLength验证器不起作用、angu

本文将分享HTML5 中是否有 minlength 验证属性?的详细内容,并且还将对html认证进行详尽解释,此外,我们还将为大家带来关于Angular 2表单验证,minLength验证器不起作用、angularjs ng-minlength验证不起作用,仍在提交表单、angularjs – 有没有办法在ng-messages中将minlength / maxlength的值插入到消息中?、asp.net – 自定义验证属性不呈现客户端验证属性的相关知识,希望对你有所帮助。

本文目录一览:

HTML5 中是否有 minlength 验证属性?(html认证)

HTML5 中是否有 minlength 验证属性?(html认证)

似乎字段的minlength属性<input>不起作用。

HTML5 中是否还有其他属性可以帮助我设置字段值的最小长度?

答案1

小编典典

您可以使用pattern属性。该required属性也是必需的,否则具有空值的输入字段将被排除在约束验证之外。

<input pattern=".{3,}"   required title="3 characters minimum"><input pattern=".{5,10}" required title="5 to 10 characters">

如果要创建将模式用于“空或最小长度”的选项,可以执行以下操作:

<input pattern=".{0}|.{5,10}" required title="Either 0 OR (5 to 10 chars)"><input pattern=".{0}|.{8,}"   required title="Either 0 OR (8 chars minimum)">

Angular 2表单验证,minLength验证器不起作用

Angular 2表单验证,minLength验证器不起作用

我有以下Angular 2形式:
<register>
    <form [ngFormModel] = "registrationForm">
        <div>
            <labelfor="email">Email</label>
            <inputtype="email" id="email" ngControl="email" #email="ngForm">
        </div>
        <div *ngIf = "email.touched && email.errors">
            <div *ngIf = "!email.errors.required && email.errors.underscoreNotFound">
                <span>Underscore is required</span> 
            </div>
            <div *ngIf = "email.errors.required">
                <span>Email is required</span>
            </div>
        </div>
        <div>
            <labelfor="password">Password</label>
            <inputtype="password" id="password" ngControl="password" #password="ngForm">
        </div>
        <div *ngIf = "password.touched && password.errors">
            <div *ngIf = "password.errors.minLength && !password.errors.required">
                <span>Password should contain 6 characters</span>
            </div>  
            <div *ngIf = "password.errors.required">
                <span>Password is required</span>
            </div>          
        </div>
    </form>
</register>

这是我实现验证器的组件:

import {Component} from '@angular/core';
import {Control,ControlGroup,FormBuilder,Validators} from '@angular/common';
import {CustomValidator} from './CustomValidator';

@Component({
    selector: 'register',templateUrl: './app/authentication/register_validation/register.html',})

export class RegisterComponent{
    registrationForm: ControlGroup;

    constructor(formBuilder:FormBuilder)
    {
        this.registrationForm = formBuilder.group({
            email: ['',Validators.compose([Validators.required,CustomValidator.underscore])],password: ['',Validators.minLength(6)])]
        });
    }

}

在这种形式下,电子邮件字段对两个验证器都正常工作,即当我不输入任何内容时,它会给出“需要电子邮件”的消息,当我开始输入内容时,它会给出“需要下划线”的消息,当我输入“_”时所有错误消息都消失了.但是,当我尝试在密码字段上应用这样的2个验证器时,它不起作用.当我不输入密码时,它会显示“需要密码”的消息.但是当我键入少于6个字符的内容时,minLength消息根本不会出现.这段代码有什么问题?

error key is minlength而不是minLength:
<div *ngIf = "password.hasError('minlength') && !password.hasError('required')">
  <span>Password should contain 6 characters</span>
</div>

angularjs ng-minlength验证不起作用,仍在提交表单

angularjs ng-minlength验证不起作用,仍在提交表单

我正在尝试仅在成功验证后提交表格。验证适用于必填项,但不适用于ng-minlength

表单输入无效,但仍在提交表单。

<form name="myForm" ng-submit="count = count + 1" ng-init="count=0" ng-app>
 <divng->
        <labelfor="mobile">Mobile</label>
        <div>
            <input type="text" name="mobile" placeholder="07XXXXXXXXX" ng-model="mobile" ng-minlength="11"  required />
            <span ng-show="myForm.mobile.$error.required">Required</span>
            <span ng-show="myForm.mobile.$error.minlength">Mobile number should be minimum 11 character starting from 07</span>           
        </div>
    </div>

     <div>
        <div>                       
            <inputtype="submit" value ="submit" />
        </div>

         count: {{count}}<br />

<tt>myForm.$invalid = {{myForm.$invalid}}</tt><br/>
    </div>
</form>

http://jsfiddle.net/pMMke/9/

我究竟做错了什么。

我不想使用提交按钮禁用方法。

angularjs – 有没有办法在ng-messages中将minlength / maxlength的值插入到消息中?

angularjs – 有没有办法在ng-messages中将minlength / maxlength的值插入到消息中?

我想,而不只是告诉用户“你的字段太短”,告诉用户,“你的字段必须至少{{value}}字符长”.你能用ng-messages做到这一点吗?
我只想使用ng-init设置一个minlength变量,然后在两个地方重复使用它.
angular.module('myApp',['ngMessages']);
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular-messages.js"></script>

<form name="form" ng-app="myApp">
  <div ng-init="minlength = 5">
    <input type="text"
      name="name"
      ng-model="name"
      ng-minlength="minlength"
    >
    <div ng-messages="form.name.$error">
      <div ng-message="minlength">
        Your field must be at least {{minlength}} characters long. 
        Current length: {{form.name.$viewValue.length}}
      </div>
    </div>
  </div>
</form>

asp.net – 自定义验证属性不呈现客户端验证属性

asp.net – 自定义验证属性不呈现客户端验证属性

我正在尝试在MVC 6上实现客户端一半的自定义验证属性.服务器端正常工作,其他客户端属性(如[required])正常工作,但我的不显眼的data-val属性不会出现在渲染的字段.

根据我在Github上搜索源代码看到的内容,我不需要做任何其他事情.我在这里错过了什么?

[AttributeUsage(AttributeTargets.Property,AllowMultiple = false,Inherited = true)]
public class PastDateOnlyAttribute : ValidationAttribute,IClientModelValidator
{
    private const string DefaultErrorMessage = "Date must be earlier than today.";

    public override string FormatErrorMessage(string name)
    {
        return DefaultErrorMessage;
    }

    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ClientModelValidationContext context)
    {
        var rule = new ModelClientValidationPastDateOnlyRule(FormatErrorMessage(context.ModelMetadata.GetdisplayName()));

        return new[] { rule };
    }

    protected override ValidationResult IsValid(object value,ValidationContext validationContext)
    {
        if (value != null)
        {
            var Now = DateTime.Now.Date;
            var dte = (DateTime)value;

            if (Now <= dte) {
                return new ValidationResult(FormatErrorMessage(validationContext.displayName));
            }
        }

        return ValidationResult.Success;
    }
}

public class ModelClientValidationPastDateOnlyRule : ModelClientValidationRule
{
    private const string PastOnlyValidateType = "pastdateonly";
    private const string MaxDate = "maxdate";

    public ModelClientValidationPastDateOnlyRule(
            string errorMessage)
        : base(validationType: PastOnlyValidateType,errorMessage: errorMessage)
    {   
        ValidationParameters.Add(MaxDate,DateTime.Now.Date);
    }
}

(省略JavaScript代码,因为它不相关.)

解决方法

一个老问题,但似乎这确实是测试版中的一个错误.它全部在RTM版本中工作,并且data-val- *属性被正确呈现.

我们今天的关于HTML5 中是否有 minlength 验证属性?html认证的分享就到这里,谢谢您的阅读,如果想了解更多关于Angular 2表单验证,minLength验证器不起作用、angularjs ng-minlength验证不起作用,仍在提交表单、angularjs – 有没有办法在ng-messages中将minlength / maxlength的值插入到消息中?、asp.net – 自定义验证属性不呈现客户端验证属性的相关信息,可以在本站进行搜索。

本文标签: