[英]Trouble getting Regex working for multiline textbox in MVC 4.0 C#
這是我的模特
[Required(ErrorMessage = "At least one 10 digit number is required.")]
[DataType(DataType.MultilineText)]
[RegularExpression(@"^\d{10}$", ErrorMessage = "Please enter a valid 10 digit number.")]
public string TenDigitNumbers
{
get;
set;
}
這是我的看法
@Html.TextAreaFor(model => Model.TenDigitNumbers, new { @class = "MyModel", @cols = 11, @rows = 5 })
@Html.ValidationMessageFor(model => Model.TenDigitNumbers)<br />
此正則表達式適用於輸入文本框的十位數字。 但是,在文本框中輸入的數字超過十位數就會失敗。 我已經讀過正則表達式需要打開多行。 我通過在上面的模型中定義數據類型來做到這一點。 所以我不確定我做錯了什么。
RegularExpressionAttribute
不支持MultiLine屬性..你必須自己動手。
這個問題已經在SO上被問過了......不要帶走原作者的代碼..這里有一個例子: https : //stackoverflow.com/a/9689880/1517578
有10位數字,你的意思是這樣的:
1234567890 1234567890 1234567890 1234567890
在這種情況下,您需要一個能夠理解的表達式,例如: ^\\d{10}( \\d{10})*$
如果您使用多行文本框,例如: ^\\d{10}(\\r?\\n\\d{10})*$
這就是你如何使用Regex,基本上不依賴於多行標志或屬性,而是明確定義正則表達式以允許新行,但需要遵循相同的模式
[RegularExpression(@"^\d{10}(\r?\n\d{10})*$", ErrorMessage = "Please enter a valid 10 digit number.")]
public string TenDigitNumbers
{
get;
set;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.