新規投稿
フォローする

レコード保存時の条件指定

レコードを保存する際の条件をしたいと考えています。

ラジオボタンで選択肢がAとBがあります。

Aを選択しているときにフィールドA、フィールドBが一致した場合保存可

Bを選択しているときはフィールドA、フィールドCが一致した場合保存可

 

kintoneでこのようなことは可能でしょうか?

 

0

4件のコメント

Avatar
mikan

少し泥臭い方法ですが以下でいかがでしょうか。

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;

}

0
Avatar
青山昌司

mikanさん

ご返信ありがとうございます。

動作確認できました。

一点質問です。

ラジオボタンにCやDという選択肢を追加した場合、

ラジオボタンでAorBの場合は先ほどの条件で保存を行い、CやDを選択した場合は条件に関係なく保存可という具合にはできますでしょうか?

あくまでもラジオボタンでAかBを選択したときのみの制限です。

よろしくお願いいたします。

 

 

 

0
Avatar
mikan

青山さん

であれば、最後のreturn falseを return event に変えるだけでいけるかと思いますがいかがでしょうか。

0
Avatar
青山昌司

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;

}

 

青山昌司により編集されました
0
サインインしてコメントを残してください。