asp.net 控制項驗證 FCKeditor

來源:互聯網
上載者:User

經過尋找網上的資料,發現好像是它本身的一個問題,原文如下:

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了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.