我们正在尝试使用MVC 4数据注释创建一些自定义验证,我们创建的验证是一种消息提示而不是限制性验证.首先,我们创建了一些继承自ValidationAttribute类的自定义验证类,并重写了IsValid()方法以测试数据并返回ValidationResult(如果无效).显示此数据的视图具有使用EditorTemplates显示剃刀生成的数据的部分视图,使用我们的自定义数据注释和许多内置验证,所有这些都包含在这样的表单中
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))
Run Code Online (Sandbox Code Playgroud)
我们的要求是让用户回发数据并部分保存表单,但在任何无效字段上提示它们,因此使用表单上的CSS类提交以允许回发,如此
<input type="submit" value="Save" class="cancel"/>
Run Code Online (Sandbox Code Playgroud)
这一切都运行正常,但我们现在要求在页面加载时显示所有错误消息,在我尝试之前我没有看到它是一个问题...
我发现了一些在$(document).ready事件中使用jquery的例子,它调用了表单有效的方法,如下所示
但这对我们来说似乎不起作用$('形式').验证()似乎没有做任何事情,似乎触发表单验证的唯一调用是$('form').valid()但是这只是似乎显示内置验证,如[Required]属性,并且获取自定义验证消息的唯一方法是使用提交按钮发回表单.
必须有一种方法来获取我的自定义数据注释以显示消息,而无需在第一时间回传页面吗?任何帮助将不胜感激.
我目前无法刷新整个jstree; 初始树加载工作正常,刷新子节点也按预期工作,但如果数据在根节点中发生更改,即使数据已更改并且已对服务器进行调用,树也不会刷新.
我将尝试解释jstree的设置.
全局变量
var levelType;
Run Code Online (Sandbox Code Playgroud)
树设置
$("#explorer").jstree({
plugins: ["core", "ui", "themes", "json_data", "types"],
themes: {
theme: "default",
dots: false,
url: url = '@Url.Content("~/Content/jstree/default/style.css")'
},
json_data: {
ajax: {
cache: false,
url: function (node) {
var nodeId = "";
var url = "";
if (node == -1) {
url = '@Url.Action("GetSites", "Site")';
} else if ($(node).attr("rel") == "station") {
url = '@Url.Action("GetInspections", "Inspection")' + '/' + $(node).attr("id");
}
return url;
},
success: function (metaData, textStatus, jqXhr) {
if (levelType == …Run Code Online (Sandbox Code Playgroud)