asp.net 控件验证 FCKeditor

经过查找网上的资料,发现好像是它本身的一个问题,原文如下:

With ASP.Net, I need to submit twice when using the RequiredFieldValidator in a FCKeditor instance
FCKeditor will not work properly with the Required Field Validator when the "EnableClientScript" property of the validator is set to "true" (default). Due to a limitation in the default validation system, you must set it to "false".

If you want to do client side validation, you must use a Custom Validator instead and provide the appropriate validation function, using the FCKeditor JavaScript API.

译文如下(翻译的不好,大家能看懂就好):
问:为什么在使用ASP.NET的RequiredFieldValidator时,我需要提交两次
答:当RequiredFieldValidator的EnableClientScript属性被设置成true时,FCKEditor不能很好的支持RequiredFieldValidator,为了解除这个限制,你必须把这个属性设置成为false 如果你希望使用客户端验证,你必须使用Custom Validator制作一个非空验证来替换RequiredFieldValidator,在其中使用FCKeditor JavaScript API即可。

看了这篇文章,我就去找FCKeditor JavaScript API的文档,发现它为客户端JavaScript的调用提供了一些属性和方法,于是乎,就按上述的回答写了一段JavaScript脚本来完成了验证。

详细解决方法:首先添加Javascript脚本:


代码如下:

script language="javascript" type="text/javascript">
var oEditer;
function CustomValidate(source, arguments)
{
var value = oEditer.GetXHTML(true);
if(value=="")
{
arguments.IsValid = false;
}
else
{
arguments.IsValid = true;
}
}
function FCKeditor_OnComplete( editorInstance )
{
oEditer = editorInstance;
}
</script>

`然后添加CustomValidator,设置ClientValidationFunction="CustomValidate",注意千万别忘了ValidateEmptyText="True",否则不起作用!

这样,再试试,OK,一次就可以直接提交了,不会出现提交两次的bug了

(0)

相关推荐

  • ASP.NET中验证控件的使用方法

    对于这些常用的控件有效性验证,在Asp.Net中有单独的验证控件可供使用.他们可以满足一般的,诸如非空,范围.比较等的验证,为用户登录页面添加输入数据验证功能和验证码功能. 验证控件: Asp.Net中内置的验证控件有:RequiredFieldValidation.RangeValidation.RegularExpressValidation.CompareValidation.CustomValidation和ValidationSummary等六种.其中用户自定义验证控件,由于并不非常常

  • ASP.net的验证控件浅析

    ①.数据格式验证控件(RegularExpressionValidator) 复制代码 代码如下: <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="此用户名已注册过" ControlToValidate = "txtName" ValidationExpression = "

  • C#验证控件validator的简单使用

    ASP.NET为开发人员提供了一套简单实用的服务器控件来验证用户输入的信息是否有效.这些控件的主要属性有id(控件的唯一id).ControlToValidate(被验证的控件的id).ErrorMessage(当验证失败时,在控件中显示的文本).runat(规定该控件是一个服务器控件.必须设置为 "server"). 1.RequiredFieldValidator:验证一个必填字段,如果这个字段没填,那么将不能提交信息. 下例为文本框输入是否为空的验证,输入内容为空时报错.代码如下

  • validator验证控件使用代码

    下面是js代码(在绑定对象的时候感觉很不优雅,希望高人能指点一二啊!) 复制代码 代码如下: function validator(obj,option){//验证对象 var self = this; if(!(self instanceof validator)) return new validator(obj,option); self.source={'mobile':'^(13|14|15|18)[0-9]{9}$','postcode':'^\\d{6}$','integer':'

  • 验证控件与Button的OnClientClick事件详细解析

    一.事件 这是一个长期被我忽略或者是没有发现的问题,问题是这样的: 在一个页面中,当有验证控件的时候,当Button控件触发OnClientClick事件,并且这个事件会返回true和false的时候,验证控件就会失效,不起作用了.具体描述如下: .Net页面如下: 复制代码 代码如下: <form id="form1" runat="server"><asp:ScriptManager ID="ScriptManager1"

  • asp.net MaxLengthValidator 最大长度验证控件代码

    复制代码 代码如下: /// <summary> /// TextBox的最大长度验证器,如果是varchar,char字段类型,需要此验证 /// </summary> [Description("对MaxLength进行验证")] [ToolboxData("<{0}:MaxLengthValidator runat=server></{0}:MaxLengthValidator>")] public class

  • asp.net 控件验证 FCKeditor

    经过查找网上的资料,发现好像是它本身的一个问题,原文如下: With ASP.Net, I need to submit twice when using the RequiredFieldValidator in a FCKeditor instance FCKeditor will not work properly with the Required Field Validator when the "EnableClientScript" property of the val

  • ASP.NET控件10个最有用的属性详解

    1.ClientIDMode 渲染ASP.NET控件时会自动生成一个ID,当我们在客户端脚本中引用它们时,却会制造不少麻烦,虽然它是命名容器和ID的简单串联,但仍然无法预测生成的ID范围. ASP.NET 4.0使用ClientIDMode属性解决了这个问题,它允许你控制生成这些ID的方法,ClientIDMode有四个可选择的值:AutoID,Static,Predictable和Inherit.下面是这四个值的含义解释: AutoID – 和4.0以前的版本保持一致,自动生成ID. Stat

  • asp.net控件DataList分页用法

    本文实例讲述了asp.net控件DataList分页用法.分享给大家供大家参考,具体如下: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["Page"] = 0; Bangding(); } } //绑定数据 public void Bangding() { PagedDataSource pds = new PagedDataSource(); pds.DataS

  • 分析10个ASP.NET控件最有用的属性详解

    1.ClientIDMode 渲染ASP.NET控件时会自动生成一个ID,当我们在客户端脚本中引用它们时,却会制造不少麻烦,虽然它是命名容器和ID的简单串联,但仍然无法预测生成的ID范围. ASP.NET 4.0使用ClientIDMode属性解决了这个问题,它允许你控制生成这些ID的方法,ClientIDMode有四个可选择的值:AutoID,Static,Predictable和Inherit.下面是这四个值的含义解释: AutoID – 和4.0以前的版本保持一致,自动生成ID. Stat

  • ASP.NET控件之RadioButtonList详解

    "RadioButtonList"控件表示一个封装了一组单选按钮控件的列表控件. 可以使用两种类型的 ASP.NET 控件将单选按钮添加到网页上:各个"RadioButton"控件或一个"RadioButtonList"控件.这两类控件都允许用户从一小组互相排斥的预定义选项中进行选择.使用这些控件,可定义任意数目的带标签的单选按钮,并将它们水平或垂直排列. 命名空间:System.Web.UI.WebControls 程序集:System.Web

  • 把某个asp.net 控件替换成自定义控件的方法

    功能:可以把某个asp.net 控件 替换成 自定义的控件 pages 的 tagMapping 元素(ASP.NET 设置架构) 定义一个标记类型的集合,这些标记类型在编译时重新映射为其他标记类型. 此元素是 .NET Framework 2.0 版中的新元素. 复制代码 代码如下: <pages> <tagMapping> <add tagType= "System.Web.UI.WebControls.WebParts.WebPartManager"

  • 教你用AngularJS框架一行JS代码实现控件验证效果

    如上图所示,我们需要实现如下这些验证功能: 控件都是必输控件 都需要控制最大长度 第一次打开页面,控件不能显示为错误状态 输入内容再清空后,必输控件需要显示为错误状态 只有所有输入合法后,发布按钮才能变为可用状态 通过AngularJS,我们可以很轻松的实现这些要求,只需要1行JS代码.UI样式这里采用的是Bootstrap.先上示例代码: HTML. <!DOCTYPE html> <html lang="zh-cn" ng-app="ftitApp&qu

  • Asp.net_Table控件の单元格纵向合并示例

    业务需要,动态生成表,同一列中数据相同的单元格需要合并. 解决方案,创建Table控件处理类,代码如下: 复制代码 代码如下: /// <summary>表格控件相关操作类 /// </summary> public static class aspTable { /// <summary>合并行 /// </summary> /// <remarks>版权信息:http://www.qqextra.com,http://t.qq.com/ls_

  • ASP.NET 控件开发系列之图片切换web控件

    贴出来控件页面的代码. PicList.ascx 复制代码 代码如下: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="PicList.ascx.cs" Inherits="WebParts_PicList" %> <style type="text/css"> /* Reset style */ * { marg

  • asp.net中将js的返回值赋给asp.net控件的小例子

    复制代码 代码如下: <script language ="javascript" type ="text/javascript">    var second=0;    var minute=0;    var hour=0;    window .setInterval ("OnlineStayTimes();",1000);    function OnlineStayTimes()    {    second ++;   

随机推荐