- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直致力于为 MVC 创建自定义错误验证消息,以显示 jQueryUI 样式的错误消息。
到目前为止看起来很酷,但我需要在没有错误消息的情况下隐藏整个 div...我该怎么做?
这是我的 html 辅助扩展方法:
public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
{
TagBuilder widgetDiv = new TagBuilder("div");
widgetDiv.AddCssClass("ui-widget");
widgetDiv.Attributes.Add("style", "font-size: 10px");
TagBuilder errorDiv = new TagBuilder("div");
errorDiv.AddCssClass("ui-state-error ui-corner-all");
errorDiv.Attributes.Add("style", "padding:0 .7em;");
TagBuilder paragraph = new TagBuilder("p");
TagBuilder span = new TagBuilder("span");
span.AddCssClass("ui-icon ui-icon-alert");
span.Attributes.Add("style", "float: left; margin-right: .3em;");
TagBuilder strong = new TagBuilder("strong");
strong.InnerHtml = "Alert: ";
paragraph.InnerHtml += span.ToString(TagRenderMode.Normal);
paragraph.InnerHtml += strong.ToString(TagRenderMode.Normal);
paragraph.InnerHtml += helper.ValidationMessageFor(expression).ToString();
errorDiv.InnerHtml += paragraph.ToString(TagRenderMode.Normal);
widgetDiv.InnerHtml += errorDiv.ToString(TagRenderMode.Normal);
return MvcHtmlString.Create(widgetDiv.ToString(TagRenderMode.Normal));
}
这是它生成的 html:
<div class="ui-widget">
<div class="ui-state-error ui-corner-all" style="padding: 0 .7em;">
<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>
<strong>Alert:</strong> Sample ui-state-error style.</p>
</div>
</div>
我假设我需要根据某些条件返回一个空白字符串...我该怎么做?
编辑:添加图片来说明问题 - 不管怎样,div 都显示空文本。
Edit2:我注意到在调试时这个方法只被命中一次......也许不引人注目的验证是问题所在。
此代码没有帮助:
string propertyName = ExpressionHelper.GetExpressionText(expression);
string name = helper.AttributeEncode(helper.ViewData.TemplateInfo.GetFullHtmlFieldName(propertyName));
if (helper.ViewData.ModelState[name] == null ||
helper.ViewData.ModelState[name].Errors == null ||
helper.ViewData.ModelState[name].Errors.Count == 0)
{
return MvcHtmlString.Empty;
}
最佳答案
为什么不在构建 HTML block 之前对验证消息进行测试?如果为空则没有错误。
var validationMessage = helper.ValidationMessageFor(expression).ToString();
if (!string.IsNullOrEmpty(validationMessage))
{
// Build your message as in your code.
}
关于c# - 自定义 JQueryUI ValidationMessageFor 隐藏验证扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13682927/
我正在关注 this tutorial在 jqueryui 工具提示中显示验证错误。验证工作正常,但我无法显示正确的错误消息,因为正确的属性无法有条件地链接到工具提示,如下面的示例所示: $(docu
我在 ASP.NET 页面中使用 jqGrid 并将数据注入(inject)到页面上的脚本 block 中,然后从那里加载。对于这一用例,我们需要立即在屏幕上显示大量数据。其中涉及 300~500 条
This jQuery plugin ,它允许用户在 div 中绘制矩形,适用于 jQueryUI 1.7.2。 我需要让它与 jQueryUI 1.8.4 一起工作。来自阅读widget upgra
我有一个使用 jQueryUI 可排序的列表。 我需要根据插件的“更改”事件在拖动时跟踪元素的每一步。 但它只能从缓慢到正常的阻力可靠地工作。在这些速度下,没有任何错误。但是如果用户相对较快地拖动元素
当我重复滚动某个元素时 jQuery tooltip似乎在跳来跳去。我想也许是因为它与自身发生碰撞,所以我将碰撞选项设置为none,但这没有帮助。 这是一个错误吗?我怎样才能让它不跳来跳去? 最佳答案
如果返回的 json 对象如下所示,我有一个可以正常工作的 jQuery UI Autocomplete: label:name value:name 然后它会搜索 myname,当用户选择一个时,它
我是 JQueryUI 的新手,虽然我有一个对话框正在工作,但它没有以我认为指定的大小打开。为什么定义对话框时设置宽度和高度不会影响对话框的初始大小?如何将其设为 600 像素 x 500 像素? 这
我有一个简单的任务却让我抓狂。 我的 jQuery 代码: $(document).ready(function() { $("#dialog_open").butto
我正在使用 jQueryUI 1.8,它具有自动完成功能。 到目前为止,我已经成功地在多个领域实现了自动完成功能,如下所示: $(function() { $("#auto").autocom
我使用 UL 元素创建一个菜单,我使用 jQueryUI 来显示此菜单。 Edit Translation Edit Comment Edit Bind Edit R
我正在使用最新版本的 JqueryUI 自动完成(1.8.23)。我正在使用 autoFocus : true 属性,这给我带来了一个大问题。 当我开始在输入框中快速输入文本时,autoFocus :
问题: 当使用多个标准 jQueryUI 对话框实例化时,如下所示: $("#dialog").dialog({}); $("#dialog2").dialog({}); 如果有大量内容或设置了特定高
看看这个 jsfiddle 我试图将两个按钮并排放置,其中一个按钮是动态的,并且仅在发生特定事件时才会出现(在示例中是按下另一个按钮)。但在动画转换过程中,布局有点扭曲 $('.btn-toggle'
我有以下情况: 按钮打开一个包含复选框的模式对话框。当我单击此复选框时,我希望显示另一个模式对话框(警告),但我也想保留新的复选框状态(选中或未选中)。例如,如果复选框未选中并被单击,我希望显示警告并
我目前正在使用 jQuery UI 中的模态对话框作为菜单。该菜单由一些图像组成,单击这些图像时可用作菜单项。该站点使用动态 ajax 内容来加载所请求的页面。这是我的问题:单击图像后如何关闭模式对话
我正在处理 jqueryui 自动完成 JSONP 示例:http://jqueryui.com/demos/autocomplete/#remote-jsonp 即使在他们自己的演示中,我也设法让这
我正在使用 JQueryUI 对话框并在下面创建了此函数: $(document).ready(function() { $('#dialog').dialog({
我正在使用 jqueryui 自动完成来让我的文本框为用户显示各种选项。 在本例中,我只希望用户能够从列表中选择一个值,而不是输入另一个值。 我通过以下方式实现了这一点: $('#modelNo').
使用jQueryUI Autocomplete 我想将一些其他数据附加到框中的结果列表中。例如,我的数据集可能如下所示: [ { "name": "John's wild ba
尝试使用 jQueryUI 将表格列滑出 View ,然后再返回。遗憾的是,它似乎没有保留正确的列宽和位置,因此该列最终出现在错误的位置。 我遇到的问题的提炼版本在 http://jsfiddle.n
我是一名优秀的程序员,十分优秀!