jQueryフォームバリデータはHtml.Beginformで正常に動作します。MVCのAjax.BeginFormのonBeginメソッド内でjQueryフォームバリデータを使用
私は、リフレッシュせずにフォームを送信するために、Html.BeginformをAjax.Beginformに変更しました(Ajax投稿を試みましたが、コントローラ内でファイルがnullになっています)。
Ajax.Beginformに変更した後、jQueryフォームのバリデーターが機能していません。
Ajax.BeginformのonBeginメソッド内でjQueryフォームバリデーターを使用することはできますか?
ビュー:
<script src="~/scripts/jquery-1.10.2.min.js"></script>
<script src="~/scripts/jquery.validate.min.js"></script>
<script src="~/scripts/jquery.validate.unobtrusive.js"></script>
<script src="~/scripts/jquery.unobtrusive-ajax.min.js"></script>
@using (Ajax.BeginForm("Index", "Home", new AjaxOptions { OnSuccess = "Success", OnFailure = "Failure", OnBegin = "validate", HttpMethod = "post" }, new { @Id = "form", enctype = "multipart/form-data" }))
{
<script>
function Success(data) {
alert(data);
}
function Failure() {
alert("failure");
}
function validate() {
$(document).ready(function() {
$("#form").validate({
rules: {
text1: {
required: true,
},
text2: {
required: true,
}
},
messages: {
text1: {
required: "enter text1"
},
text2: {
required: "enter text2"
},
}
});
if ($("#form").valid()) {
return true;
}
else {
return false;
}
});
}
</script>
<div>
<input type="text" id="text" name="text" />
</div>
<div>
<input type="text" id="text1" name="text1" />
</div>
<div>
<input type="submit" id="submit" name="submit" />
</div>
}
コントローラー:
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(FormCollection formcollection)
{
return Json("1");
}
}
はいそれは可能だが、私は内jqueryのバリデータを使用している場合、あなたは... @GGOをチェック今 – GGO
私たちにいくつかのコードを表示する必要がありますonBeginは以下のエラーをスローします。 – Yashas
0x800a01b6 - JavaScriptランタイムエラー:オブジェクトがプロパティまたはメソッド 'validate'をサポートしていません – Yashas