我的代码是:
@Html.TextBoxFor(model => model.Phone, true, null, new { @placeholder = "Enter Phone Number *", @minlength = "10", @maxlength = "12", @autocomplete = "off", @data_rule_number = true, @data_msg_number = "*invalid phone number", @class = "form-control" })
在这里,我必须验证用户是否应该输入以数字开头的数字(6/7/8/9(。如何做到这一点?
您可以添加模式字段:
@Html.TextBoxFor(model => model.Phone, true, null, new { pattern = @"^([6-9][0-9]{9,11})$", @placeholder = "Enter Phone Number *", @minlength = "10", @maxlength = "12", @autocomplete = "off", @data_rule_number = true, @data_msg_number = "*invalid phone number", @class = "form-control" })
模式字符串^([6-9][0-9]{9,11})$
表示第一个数字可以是6到9,然后用户可以使用0到9来填充剩余数字,剩余数字的长度为9到11。
基于Removable的答案,在.net核心中您可以在模型的Phone属性上添加[RegularExpression(@"^[6-9][0~9]{9,11}$", ErrorMessage = "CusRegularErrorMessage")]
属性,用于客户端验证和服务器端验证
您可以查看此文档以了解更多详细信息:https://learn.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-6.0#内置属性
您可以使用下面显示的12位数字的模式:
pattern=@"^(6|7|8|9(([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]($";