いいね!数

0

閲覧数
131

Xpagesでチェックボックスグループの値が1だった場合、複数行編集ボックスを必須入力にしたいと思っています。

複数行編集ボックスの 検証→必須フィールドの計算式を以下のように記述していますが
チェックボックスの値に関係なく、フィールドのエラーメッセージが表示されてしまいます。
 

<xp:this.required><![CDATA[#{javascript:
var status = getComponent("checkBoxGroup1").getValue();
if (!status || status== "1"){return true;}
return false;}
}]]></xp:this.required>

サーバー情報:WindowsServer20169.0.1FP10 | クライアント情報:Windows109.0.1FP9FireFox | 
カテゴリ:アプリ開発 - XPages | タグ:
  | 質問日時:Jun 30, 2020, 1:41:45 PM

回答・コメント

いいね!数

1

TEXTAREAへのrequiredは効かなかった記憶があります。

value.lengthで文字数で判定してみては?

回答日時:Jun 30, 2020, 3:23:38 PM

いいね!数

1

!status

が不要なのではないでしょうか?

回答日時:Jun 30, 2020, 3:49:51 PM

いいね!数

0

takmさん

回答ありがとうございます。

Value.lengthで動かしてみましたが

今度はチェックを入れても、入れなくてもエラーが表示されなくなりました。

一旦保存すると、正しく動くのですが、、

var status = getComponent("checkBoxGroup1").getValue();
if(!status || status.length == 0){return false;
}else{
return true;
}
回答日時:Jun 30, 2020, 4:55:20 PM

いいね!数

1

こんにちわ。

チュックボックスグループのイベントと部分更新の設定はどうでしょうか?

チェックボックスグループのonChangeかなにかのイベントでtextsreaの部分更新がかかればうまくいきそうですけどね。

/Yac

回答日時:Jul 1, 2020, 12:21:04 AM

いいね!数

0

およよ さん

アドバイスありがとうございます。

!status をなくしてしまうと、新規作成時にエラーになってしまうのです。。

回答日時:Jul 1, 2020, 2:01:54 PM

いいね!数

0

yac4423 さん

アドバイスありがとうございます。

チェックボックスグループのOn change にInputTextarea1の部分更新を設定してみましたが

結果は変わりませんでした。

回答日時:Jul 1, 2020, 2:08:43 PM

いいね!数

1

メッセージが表示されるとのことなので、

複数行編集ボックスの「disableClientSideValidation」が""もしくはFalseになっていると思います。

メッセージボックスではなく、

「エラー表示」「複数エラー表示」コントロールを使用したエラーメッセージをページ内に表示する方法は採用できませんか?

上記の値をTrueにすれば、思ったような動きになると思います。

 

回答日時:Jul 1, 2020, 4:25:51 PM

いいね!数

0

およよ さん

ご連絡ありがとうございます。

複数行編集ボックスの「disableClientSideValidation」を変更し

エラー表示コントール追加して実現することができました!

ありがとうございました。

回答日時:Jul 3, 2020, 2:09:04 PM