AJAX 呼び出しから返された検証に失敗したときに、フィールド (インライン) にエラー メッセージを表示しようとしています。
<input type="text" class="text-danger float-right" style="border:none;font-size: smaller" id="@("errorMessage")" readonly />
<div class="form-group">
<label asp-for="OrderQuantity" class="control-label"></label>
<input asp-for="OrderQuantity" id="txt" class="form-control" />
<span asp-validation-for="OrderQuantity" class="text-danger"></span>
</div>
<input type="hidden" id="orderId" name="orderId" value="@Model.OrderId" />
<button id="button">Click Me</button>
</form>
</div>
</div>
@section Scripts {
<script type="text/javascript">
$("#button").click(function () {
var orderedQuantity = $("#txt").val();
var orderId = $("#orderId").val();
var data = {
orderId: orderId,
orderedQuantity: orderedQuantity
};
$.ajax({
type: 'POST',
url: '@Url.Action("EditItem", "Orders")',
data: data,
dataType: "json",
success: function (result) {
if (result.status === "NotAvailable") {
alert("NotAvailable");
$("#errorMessage").val("Enter a valid Quantity");
}
else {
var url = '@Url.Action("Index", "Orders")';
window.location.href = url + "?custEmail=xyz@rrr.org";
}
},
error: function (error) {
alert(error);
}
});
});
</script>
}
フォームと AJAX 呼び出しは次のようになります。
result.status
コントローラーアクションから返された 場合、次の"NotAvailable"
ようなエラーメッセージを作成$("#errorMessage").val("Enter a valid Quantity");
し、フィールドの上部でこれを使用しています
<input type="text" class="text-danger float-right" style="border:none;font-size: smaller" id="@("errorMessage")" readonly />
下のボタンをクリックした後に検証失敗のシナリオをテストしようとすると、私が見ているものです
Enter a valid Quantity
同じ画面に戻ってフィールドにエラーを表示するにはどうすればよいですか