あなたはまだあなたの質問に非常に曖昧です。しかし、私はあなたが望むものは、ajaxを呼び出してサーバサイド検証を行うことだと思います。その場合、問題は、Ajaxリクエストが非同期であるため、あなたの検証がAJAXリクエストの前に返すこと..ですGeneralButtonFrmはあなたがjQuery.validator.unobtrusive.parseを使用しなければならないAJAXを使用してレンダリングされた、またはそれがある場合は、この
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js"></script>
<script type="text/javascript">
jQuery.validator.addMethod("ajaxCustom", function (value, element) {
var wrap = $(element);
var url = wrap.data("customAjaxUrl");
var result;
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function (data) {
result = data.valid;
},
data: { value: value, id: element.id },
async: false
});
return this.optional(element) || result;
}, "Ajax");
$.validator.unobtrusive.adapters.addBool('ajaxCustom');
</script>
<style type="text/css">
.input-validation-error {
background: red;
}
</style>
</head>
<body>
<form action="/">
<input data-val-ajaxCustom="Tuckel" data-val="true" data-val-required="Its required" data-custom-ajax-url="validate.html" />
<button type="submit">Submit</button>
</form>
</body>
</html>
を実行します。 ajaxを使用するカスタムバリデータですか? ajaxを使用するバリデーターは少し厄介ですが、有効でないというfalseを返す必要があります。サーバーからの応答を受け取ると、値が有効であればフラグを設定し、フォームを再検証し、フラグに応じてtrueまたはfalseを返します。私は私が明確だったことを願っています:D – Anders
素早い答えをありがとう。 「有効でないときにfalseを返す」とはどういう意味ですか?どのようにサーバーから答えを得ることができますか? –
すべてを真っ直ぐにするには、ajaxを使って検証しようとするカスタムルールがありますか? – Anders