###正規表現で文字数、行数制限をかけたいのですが上手くいきません。
初めての質問なので、内容に不備があったら申し訳ありません。
asp.net core2.0で開発をしています。
その中でビューのtextareaに文字数、行数制限をかけるために
RegularExpression属性で正規表現を使用して制限をかけようと
しているのですが、上手くいかない状況です。
具体的には1行に58文字、3行まで。という制限をかけたいです。
問題
1行に58文字、3行と最大文字数を入力すると、入力時はチェックがかからないのですが
更新時にチェックがかかります。
入力時と更新時の違いが分からずに行き詰っている状況です。
追記
1行に57文字、3行だと更新が可能です。
改行が含まれているせいかとは考えているのですが、正規表現がまだ馴れていないもので
いい方法が思いつきません。
ソースコード
Model
c#
1[RegularExpression("^(.{0,58})(\n.{0,58}|)(\n.{0,58}|)$")] 2public string hoge { get; set; }
Controller
c#
1if(!ModelState.IsValid){ 2 return View(viewModel); 3}
View
c#
1<div class="form-group"> 2 <label asp-for="hoge" class="control-label col-md-2"></label> 3 <div class="col-md-10"> 4 <textarea asp-for="hoge" class="form-control" rows="3"></textarea> 5 <span asp-validation-for="hoge" class="text-danger"></span> 6 </div> 7</div>
試したこと
調べながら正規表現チェックツールで色々試しているのですが、上手くいかない状況です。
補足情報(FW/ツールのバージョンなど)
Asp.Net Core2.0
回答2件
あなたの回答
tips
プレビュー