usingValidationSummary
を実行すると、なぜ動作しないのかわかりません。Html.BeginForm
AJAX.submit
@model Contoso.MvcApplication.Models.Questions.MultipleChoiceQuestionTemplate
@using (Html.BeginForm("EditQuestion", "Question", FormMethod.Post, new { id = "editQuestionForm" }))
{
@Html.ValidationSummary(true)
@Html.EditorForModel("Questions/_MultipleChoiceQuestion")
<p>
<input type="submit" value="Save" />
</p>
}
public class MultipleChoiceQuestionTemplate : QuestionTemplate, IValidatableObject
{
public MultipleChoiceQuestionTemplate() { ... }
[DisplayName("Question")]
public string QuestionText { get; set; }
public List<string> Choices { get; set; }
[DisplayName("Correct Choice")]
public int CorrectChoice { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (String.IsNullOrEmpty(Choices5[CorrectChoice]))
{
yield return new ValidationResult("ERROR");
}
}
}
ここに私のjquery送信関数があります:
$("#editQuestionForm").submit(function () {
if ($(this).valid()) {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
$('#result').html(result);
}
});
}
return false;
});
しかし、私は何かです。なぜなら、上記でわかるように、私はValidatableObject
インターフェースを実装しており、送信ボタンをクリックすると、検証モデルにエラーがあり、ValidationSummary
.