Текущая реализация: < /p>
[*] server-side (контроллер API) < /p>
Код: Выделить всё
[HttpPut]
[Route("api/TeacherPage/UpdateTeacher")]
public IHttpActionResult UpdateTeacher([FromBody] Teacher teacher)
{
// Manual validation
if (string.IsNullOrEmpty(teacher.TeacherFname))
return BadRequest("Teacher name is required.");
if (teacher.HireDate > DateTime.Now)
return BadRequest("Hire date cannot be in the future.");
// ... database update logic
}
< /code>
< /li>
Клиентская сторона (Edit.cshtml
Код: Выделить всё
@model Teacher
// AJAX submit with jQuery
$("#updateForm").submit(function(e) {
e.preventDefault();
$.ajax({
url: "/api/TeacherPage/UpdateTeacher",
type: "PUT",
data: $(this).serialize(),
success: function() { alert("Updated!"); }
});
});
< /code>
< /li>
< /ol>
Конкретные задачи: < /p>
Проверка проверка: я повторяю проверки (например, пустое имя) как на клиенте, так и на сервере. Есть ли способ централизации правил проверки (например, с использованием [требуемых]
[*] Частичные обновления: я должен использовать Put (полные обновления) или патч (частичные обновления) для лучшего соответствия REST? Свойства, но проверка на стороне клиента не запускает Ajax
[*] Используемый модель state.isvalid в контроллере, но это всегда истинно для полезных нагрузок json.
. /> jquery 3.6 < /li>
mysql < /li>
< /ul>
Подробнее здесь: https://stackoverflow.com/questions/795 ... dates-in-a