私はMVCが初めてです。モデルLoginModelを作成しました
{
[Required (ErrorMessage="Username is required field.")]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required (ErrorMessage="Password is required field.")]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
}
id = "CustomLogin"とそのaction="User/Validate" を使用してフォームを設計し、ValidateアクションはJsonResultを返します
web.config では、
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
私の_Layout.cshtmlでは、
@Scripts.Render("~/bundles/jqueryval")
ここで、フォーム (CustomLogin)の「送信」ボタンを直接クリックすると、正しいUser/Validateにジャンプできなくなります。
しかし、外部Javascriptでは mycode.jsと言って、私も書いています
$(document).ready(
function()
{
$('#CustomLogin').submit(
function(e)
{
alert ('i executed.');
//suppose, here i wrote JSON call, it will also be executed
});
});
も実行されます。それでいいのか..??
私の考えでは、値を渡さずに送信ボタンをクリックすると、
邪魔にならない JavaScript により、投稿リクエスト「ユーザー/検証」を制御できなくなります。
次に、送信イベントも防止する必要があります。これを解決するため に、送信イベント ハンドラで$("form").valid()を使用しました。
このような、
if ( $("#CustomLogin").valid() )
{
alert('I executed.');
}
目立たないjavascriptがフォームの状態を作ると思います:無効または有効...
**> しかし、私の質問は、$("form").valid() を使用する必要があるかどうかです。
USE OF Unobtrusive JavaScript for validation...???? **
それでこれは大丈夫ですか..または私は間違った方法でやっています