0

無効な記号を入力したことをユーザーに警告するために、テキストボックスでクライアントの控えめな検証が必要です。次のようなデータ注釈でRegularExpressionを使用したい:

[Required]
[Display(Name = "RecordBody", ResourceType = typeof(Resources))]
[RegularExpression(@"(\<(/?[^\>]+)\>)", ErrorMessageResourceType = typeof(ValidationErrors), ErrorMessageResourceName = "DisallowHtml")]
[StringLength(8191, ErrorMessageResourceType = typeof(ValidationErrors), ErrorMessageResourceName = "TooLongEntry")]
public string Description { get; set; }

正規表現は、サーバー側でユーザー入力を検証するために使用され、クライアント側では Javascript 正規表現で使用されます。

<textarea cols="20" data-val="true" data-val-disallowhtml="Поле Текст записи содержит недопустимые символы" data-val-disallowhtml-pattern="(\<(/?[^\>]+)\>)" data-val-length="Введено слишком много символов. Допустимо: 8191" data-val-length-max="8191" data-val-required="Требуется поле Текст записи." id="Description" name="Description" rows="2"></textarea>

(\<(/?[^\>]+)\>)html タグのみに一致するため、機能しません。HTML タグではないすべてのコンテンツに一致する正規表現が必要です。つまり、正規表現全体を否定します。

これはhttp://cafuego.net/2011/11/15/html-and-regular-expressionsの実例です。しかし、(?<=^|>)([^><]+?)(?=<|$)それはphpでしか機能しないと思います。

4

1 に答える 1