文字列(複数行)で文字数をカウントし上限に達したら赤レコードにする

いつもお世話になっております。

初心者です。

文字列(複数行)で、100文字(全角or半角)を超えた場合、フィールドの補足部分などに赤レコードでエラー表示したいのですが教えて頂けないでしょうか。

フィールドコード:message

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

お世話になっております.

トヨクモの石川と申します.

 

以下のJavaScriptコードで実装できるかと思います.

改行/スペースをどう扱うか等で細かい動作が変わるかと思いますので,不明点があればコメントにてお願いします.

 

(function () {
 'use strict';
 fb.events.form.created.push(function (state) {
  state.fields.find(field => field.code === 'message').validations.push({ // `message`は対象となる文字列複数行のフィールドコードを指す
   params: [],
   rule: 'multi_line_validation'
  });
  return state;
 });

 fb.addValidators = function (state) {
  return {
   multi_line_validation: {
    getMessage: function (fieldCode, params) {
     return '100文字以下で入力してください。(' + state.record[fieldCode].value.length + '文字)';
    },
    validate: function (value, params) {
     return value.length <= 100; // 設定する上限文字数
    }
   }
  };
 };
})();

トヨクモ 石川様

いつもお世話になっております。

問題なく実装できました。

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

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。