0

ポートレットは、それがどのように機能するかを説明しています:

true または false を返す JavaScript コードを入力して、フィールドを検証します。次の暗黙の変数を使用できます。

currentFieldValue: 検証される値 fieldsMap: 名前でインデックス付けされたすべてのフォーム値の配列

これに関するドキュメントは見つかりませんでした。

とにかく、フォーム入力をメールに送信する Web フォームがありますが、最後のチェックボックスがチェックされていない場合、エラーが発生するはずです。

だから私はこのコードを思いつきましたが、うまくいきません:

if(currentFieldValue == false){return false;}

この liferay Webform ポートレットの検証がどのように機能するか知っている人はいますか?

4

3 に答える 3

0

私はこのようにそれを試しましたが、私はいつもrrrorを手に入れましたYou have entered invalid data. Please try again.

だから私は変わり始めました

if(currentFieldValue == false){return false;}

の中へ

if(currentFieldValue != ""){return true;}

送信には、true自動的にに設定される可能性があるようfalseです。

これは、あらゆる種類のフィールドで機能します。

于 2012-09-24T09:16:04.647 に答える
0

currentFieldValue常に文字列なので、私にとって適切な解決策は、検証スクリプトを次のように設定することでした。

return (currentFieldValue == 'true')
于 2015-11-19T09:43:43.323 に答える
0
  1. Tomcat を停止する

  2. APPLICATION_SERVER_ROOT_DIRECTORY/webapps/web-form-portlet/WEB-INF/classes ディレクトリに移動します

  3. portlet.properties を開き、「validation.script.enabled」プロパティを「false」から「true」に変更します。

  4. Tomcat を起動

  5. Web フォームポートレットをページに追加する

  6. Web フォーム ポートレットの構成ポップアップで、説明に記述した検証スクリプトを含むチェック ボックス タイプのフィールドを追加しました: "if(currentFieldValue == false){return false;}" および検証エラー メッセージ: "Tick theチェックボックス!」

  7. 前の手順で作成したチェックボックスを選択せず​​に、作成したフォームを送信しようとしました。

結果:「チェックボックスにチェックを入れてください!」画面にメッセージが表示されました。

于 2012-08-17T09:40:06.617 に答える