无法要求所见即所得的文本框 MVC

Unable to require wysiwyg textbox MVC

我在后端和前端都需要它,但我仍然可以提交表单...

查看模型

[AllowHtml]
[Required]
public string ContentText { get; set; }

查看

@Html.TextAreaFor(i => i.ContentText, new Dictionary<string, object> { { "class", "form-control" }, { "rows", 4 }, { "id", "formContent" }, { "name", "ContentText" }, { "data-bind", "value:formContent" }, { "required", "required" } })

Javascript

CKEDITOR.replace('formContent');

我不熟悉 ckeditor,但在 MVC 中 [Required] 属性只是等式的一部分。

如果您正在使用 EntityFramework,如果模型无效,则在数据库上调用 SaveChanges() 会引发异常。

对于 controller 的提交,您需要检查 if (ModelState.IsValid) { //do something } - 如果有任何验证错误,则为 false。 请注意,如果您不关心整个模型,也可以检查 if (ModelState.IsValidField("myField")) { //do something }

无论什么代码正在处理您的提交,都需要处理无效模型。您可以在 JS 或 C# 中执行此操作。