ASP.net Ajax工具包中HTML编辑器中的错误
我正在尝试使用ASP.net自定义验证程序控件验证HTML编辑器的内容。这样做的目的是检查是否输入了某些内容——与必填字段验证器的工作方式相同 在ClientValidationFunction=“SomeFunction”中,我引用了此函数:ASP.net Ajax工具包中HTML编辑器中的错误,asp.net,ajaxcontroltoolkit,html-editor,Asp.net,Ajaxcontroltoolkit,Html Editor,我正在尝试使用ASP.net自定义验证程序控件验证HTML编辑器的内容。这样做的目的是检查是否输入了某些内容——与必填字段验证器的工作方式相同 在ClientValidationFunction=“SomeFunction”中,我引用了此函数: function SomeFunction(source, args) { var editor = $find("<%=htmlEditor.ClientID%>"); var content =
function SomeFunction(source, args)
{
var editor = $find("<%=htmlEditor.ClientID%>");
var content = editor.get_content();
var isValid = content.length > 0;
editor.set_content(content);
args.IsValid = isValid;
}
function SomeFunction(源代码,参数)
{
变量编辑器=$find(“”);
var content=editor.get_content();
var isValid=content.length>0;
编辑器。设置内容(content);
args.IsValid=IsValid;
}
我在获取内容后设置内容的原因是,这是一种让内容在编辑器中重新注册的黑客行为。出于某种原因,如果我在第二次尝试发回时没有重置内容(一旦验证),那么第一次尝试的空内容将被发回,而不是有效内容
有人知道如何检查HTML编辑器的内容而不必重置内容吗?或者,如果使用set_content()重置,而不取消激活字体大小和字体样式菜单 好的,通过更新到Ajax工具包的最新版本(2009年9月),解决了这个问题 不再需要set_content()hack。只需从上面的javascript代码中删除它,定制验证器就可以工作了。HTML编辑器现在将更新的内容传递给服务器:“呜呜!”
感谢Obot的同事们修复了这个bug!:-) 正如我在上一篇文章中所说,你不应该需要设置内容黑客。这是我的代码,用于验证编辑器是否为空:
<asp:CustomValidator
CssClass="errorMessage"
ID="HtmlEditorValidator"
runat="server"
ErrorMessage="Release Note cannot be empty"
Display="None"
ControlToValidate="radEditor"
EnableClientScript="true"
ClientValidationFunction ="checkEditorNotEmpty"
OnServerValidate="CheckEditorNotEmptyServerSide"
ValidateEmptyText="true">
</asp:CustomValidator>
function checkEditorNotEmpty(source, args)
{
var editor = $find("<%=radEditor.ClientID%>");
var cont = editor.get_text();
var isValid = cont.length > 0;
args.IsValid = isValid;
}
这适用于9月份的发行版,我希望他们没有错过11月份发行版中的bug修复:那将非常奇怪
嗯
protected void CheckEditorNotEmptyServerSide(object sender, ServerValidateEventArgs args)
{
bool valid = args.Value.Length > 0;
args.IsValid = valid;
}