asp.Netコントロール検証FCKeditor

1803 ワード

ネット上の資料を探してみると、それ自体の問題のようです.原文は以下の通りです.
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の場合、2回の回答を提出する必要があります.RequiredFieldValidatorのEnableClientScriptプロパティがtrueに設定されている場合、FCKEditorはRequiredFieldValidatorをうまくサポートできません.この制限を解除するには、このプロパティをfalseに設定する必要があります.クライアント検証を使用する場合は、Custom Validatorを使用してRequiredFieldValidatorを置き換えるために空でない検証を作成する必要があります.FCCeditor JavaScript APIを使用すればよい. 
この文章を読んで、FCCeditor 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;
}


`次にCustomValidatorを追加し、ClientValidationFunction=「CustomValidate」を設定します.ValidateEmptyText=「True」を忘れないように注意してください.そうしないと機能しません.
これで、もう一度やってみて、OK、1回で直接提出できるようになり、2回提出するバグは発生しません