LoginSignup
1
0

More than 3 years have passed since last update.

【kintone】テーブルの中で入力禁止にしたりフィールドにエラー出したりの小技

Last updated at Posted at 2020-12-30

こんにちは!
おそらく私の今年のkintone記事マラソンは今日でおしまい✨

今年最後はテーブルのフィールドのちょっとした小技を書いて終わりたいと思います。
devnetをサーフィン(?)していてチラホラ見かけた質問たちが元ネタであります・・・。
答えを書いてしまいたいけど、コミュニティの方針上、答えをズバリと書くのは良くない気がしていまして。
「困った」で検索して引っかかるような、ちょっとしたTips記事になったら良いなぁみたいな淡い欲望から書いております。

アプリの準備

アプリストアから「案件管理」をサンプルデータ込みで追加して試してね。
活動履歴テーブルを使うよ!

テーブルのフィールド編集不可にする

1行目のメモ(フィールドコードは文字列1行2)を編集不可にするにはこう。
disabledtrueにすると編集不可になります。

//編集不可
kintone.events.on(['app.record.edit.show', 'app.record.create.show'], event => {
    //1行目
    event.record.活動履歴.value[0].value.文字列__1行__2.disabled=true;
    return event;
}); 

全部の行のメモを編集不可にするには、こう(1例です)!

kintone.events.on(['app.record.edit.show', 'app.record.create.show'], event => {
    //全行
    event.record.活動履歴.value.forEach(v =>{
        v.value.文字列__1行__2.disabled=true;
    });
    return event;
}); 

テーブルのフィールドに値が入っていたらエラーを出す

保存のタイミングで値が入っていたらエラーをだしたいという場合はこんな感じ。
errorになにか文字列を入れておきましょう。

//入力禁止
kintone.events.on(['app.record.edit.submit','app.record.create.submit'],event=>{
    //2行目
    if(!!event.record.活動履歴.value[1].value.文字列__1行__2.value){
        event.record.活動履歴.value[1].value.文字列__1行__2.error = "入力禁止";
    }
    return event;
})

全部の行チェックしたい場合はこう!

kintone.events.on(['app.record.edit.submit','app.record.create.submit'],event=>{
    //全行
    event.record.活動履歴.value.forEach(v =>{
       if(!!v.value.文字列__1行__2.value){
           v.value.文字列__1行__2.error = "入力禁止";
        }
    });    
    return event;
}) 

そしてこうなった!

八方塞がり\(^o^)/

image.png

まとめ

使い方を誤ってしまい、何もできないアプリを作り出してしまった・・・。
JavaScript使うときはこんな事にならないように気をつけましょうっ!

というわけで、良いお年をお過ごしください^0^!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0