電子メールフォーマット検証の問題 -- jquery フィールド と asp.net-mvc フィールド と validation フィールド と data-annotations フィールド 関連 問題

Email format validation issue












0
vote

問題

日本語

モデルコード

<事前> <コード> [Required(ErrorMessage = "Required.")] [EmailAddress(ErrorMessage = "Invalid email address.")] [Remote("checkEmailAvailability", "Users", "Users", AdditionalFields = "RoleId,UserID", ErrorMessage = "Email address already in use")] public string stEmail { get; set; }

コード

を表示します <事前> <コード> @Html.TextBoxFor(model => model.stEmail, null, new { @class = "form-control" }) <script src="@Url.Content("~/assets/global/plugins/jquery.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/assets/global/plugins/jquery-validation/js/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Areas/Users/Scripts/AddPatients.js")" type="text/javascript"></script>

js code [addPatients.js]

<事前> <コード> $("#btnAddPatient").click(function (event) { event.preventDefault(); var $form = $('#frmAddPatient'); if ($form.valid()) {//some code } } });

コントローラコード

<事前> <コード> [HttpPost] public JsonResult updatePatient(AddEditPatientViewModel foPatientViewModel) { if (ModelState.IsValid) { //some code } }

私が直面している問題は、ユーザーが電子メールアドレスのテキストボックスに「abc @ gmail」を入力すると、 ' $ form.valid()'から渡されていますが、 ' modelState.isvalid 'はFALSE 「無効な電子メールアドレス」を返していることです。そのままユーザーはフォームを投稿できません。

だから誰かが私のコードやこれの解決策で何が悪いのか教えてもらえますか?

英語

Model code

[Required(ErrorMessage = "Required.")] [EmailAddress(ErrorMessage = "Invalid email address.")] [Remote("checkEmailAvailability", "Users", "Users", AdditionalFields = "RoleId,UserID", ErrorMessage = "Email address already in use")] public string stEmail { get; set; } 

View code

@Html.TextBoxFor(model => model.stEmail, null, new { @class = "form-control" })  <script src="@Url.Content("~/assets/global/plugins/jquery.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/assets/global/plugins/jquery-validation/js/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Areas/Users/Scripts/AddPatients.js")" type="text/javascript"></script> 

Js Code [ AddPatients.js ]

$("#btnAddPatient").click(function (event) {     event.preventDefault();     var $form = $('#frmAddPatient');     if ($form.valid()) {//some code     }     } }); 

Controller Code

[HttpPost] public JsonResult updatePatient(AddEditPatientViewModel foPatientViewModel) {  if (ModelState.IsValid)   {     //some code   } } 

What issue i am facing is that when user enters 'abc@gmail' in email address textbox it is getting pass from '$form.valid()' but 'ModelState.IsValid' is returning false ["Invalid email address."] for that same value, so user is not able to post the form.

So can anyone tell me whats wrong in my code or any solution for this?
Thanks in advance.

</div
           
   
   

回答リスト

1
 
vote

HTML.TextBoxForの代わりにHTML.EditorForメソッドを試してください。私の友達:))

 

Try Html.EditorFor helper method instead of Html.TextBoxFor. Hope to help, my friend :))

</div
 
 
   
   

関連する質問

5  実行時にデータ注釈を変更することが可能ですか? (ASP.NET MVCの[範囲] [必須] [StringLength]など)  ( Possible to change data annotations during runtime asp net mvcs range requ ) 
通常、クラスメンバのモデル化検証はこの例のように行われる可能性があります。 <事前> <コード> renderInput({ input, label, type, meta: { touched, error, warning } }) { retu...

1  EntityFramework生成クラス  ( Entityframework generated classes ) 
私はデータベースの最初の方法論を使用して生成したEFモデルを持っています。 Designerでは、DBContextオブジェクトを使用して「コード生成項目」を作成しました。これは、私のテーブル(私が欲しい)のPOCOクラスを生成したテンプレートを作成しました。...

1  条件付き検証チェック属性  ( Conditional validation check attribute ) 
条件付き検証の方法を見つけるのは難しいです。 基本的に私は検証する必要があるダイアログオブジェクトを持っています。ダイアログの特定の状態を決定するブールがあります。 その状態がtrueの場合、プロパティはfalseの場合、プロパティは使用されず、したがって検証...

102  DateTimeのフォーマットをデータ注釈を付けて割り当てますか?  ( Assign format of datetime with data annotations ) 
私のビューモデルにこの属性を持っています: <事前> <コード> [DataType(DataType.DateTime)] public DateTime? StartDate { get; set; } 日付を表示するか、テキストボックスに日付を入力し...

1  範囲データ注釈は予想通りではありません。  ( Range data annotation is not working as expected any idea ) 
検証チェックでは、入力値が1から30の入力値を許可すると仮定します。ただし、このフィールドに4から9の値を入力したときにエラーを求めます。どんなアドバイスですか?お願いします... 備考:私のプロジェクトは「MVC4 Webアプリケーション+ Razor V...

0  データアノテーション内の必須属性  ( Required attribute in data annotations ) 
私のウェブサイトを構築するためにMVC 4とEntity Framework 5を使用しています。クライアント側でデータを検証するには、データ注釈を使用します。これがビューモデルのマイプロパティです: <事前> <コード> public int Salary ...

0  すべてのプロパティから検証属性を取得し、違反がある場合はユーザーに表示することは可能ですか?  ( Is it possible to get validation attributes from all properties and show them to ) 
私は反省を備えているビューを生成して、クラスのすべてのプロパティの検証属性を取得してからビューに表示させることが可能であるかどうか疑問に思います 例えば: <事前> <コード> public class Person { [Range(0,300)]...

1  ASP.NETデータアノテーション - 数値または特定の文字列  ( Asp net data annotations a number or a specific string ) 
私は System.ComponentModel.DataAnnotations.RangeAttribute を適用したいフィールドをにします。 <事前> <コード> [Range(0, Int32.MaxValue)] しかし、私はそれが持つことができ...

4  主キーを使用するのはなぜですか?  ( Why use primary keys ) 
テーブル内の固有の列を識別することを除けば、主キーとは何ですか?これは列の自動インクレント制約を使用するだけで行うことができませんでしたか?私はPKとFKがさまざまなテーブルを関連付けるために使用されることを理解していますが、これは結合を使うだけで行うことはで...

2  エンティティフレームワークデータ注釈グローバリゼーション  ( Entity framework data annotation globalization ) 
他のスレッドからコピーしたサンプル <事前> <コード> [Display(Name = "Email", ResourceType = typeof(Localization))] [Required(ErrorMessageResourceName = "...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有