レコードを保存する際の条件をしたいと考えています。
ラジオボタンで選択肢がAとBがあります。
Aを選択しているときにフィールドA、フィールドBが一致した場合保存可
Bを選択しているときはフィールドA、フィールドCが一致した場合保存可
kintoneでこのようなことは可能でしょうか?
レコードを保存する際の条件をしたいと考えています。
ラジオボタンで選択肢がAとBがあります。
Aを選択しているときにフィールドA、フィールドBが一致した場合保存可
Bを選択しているときはフィールドA、フィールドCが一致した場合保存可
kintoneでこのようなことは可能でしょうか?
少し泥臭い方法ですが以下でいかがでしょうか。
var record = event.record;
var radioValue = record[“ラジオボタンフィールドコード”].value;
var fieldAValue = record[“フィールドAフィールドコード”].value;
var fieldBValue = record[“フィールドBフィールドコード”].value;
var fieldCValue = record[“フィールドCフィールドコード”].value;
if(radioValue == “A” && (fieldAValue ==fieldBValue)){
return event;
}else if(radioValue == “B” && (fieldAValue ==fieldCValue)){
return event;
}else{
return false;
}
mikanさん
ご返信ありがとうございます。
動作確認できました。
一点質問です。
ラジオボタンにCやDという選択肢を追加した場合、
ラジオボタンでAorBの場合は先ほどの条件で保存を行い、CやDを選択した場合は条件に関係なく保存可という具合にはできますでしょうか?
あくまでもラジオボタンでAかBを選択したときのみの制限です。
よろしくお願いいたします。
青山さん
であれば、最後のreturn falseを return event に変えるだけでいけるかと思いますがいかがでしょうか。
mikanさん
ご指摘の様に「return event」にしてみましたが、
値が間違えていても保存されてしまいます。
var record = event.record;
var radioValue = record[“ラジオ”].value;
var fieldAValue = record[“提示”].value;
var fieldBValue = record[“計算現金”].value;
var fieldCValue = record[“計算月額”].value;
if(radioValue == “現金” && (fieldAValue ==fieldBValue)){
return event;
}else if(radioValue == “月額” && (fieldAValue ==fieldEValue)){
return event;
}else{
return event;
}
因みに以下を削除して
削除 var fieldCValue = record[“計算月額”].value;
削除 if(radioValue == “月額” && (fieldAValue ==fieldEValue)){
return event;
}else{
下記にすると正しく動くようです。
var record = event.record;
var radioValue = record[“ラジオ”].value;
var fieldAValue = record[“提示”].value;
var fieldBValue = record[“計算現金”].value;
if(radioValue == “現金” && (fieldAValue ==fieldBValue)){
return event;
}else
return event;
}