タケユー・ウェブ日報

Ruby on Rails や Flutter といったWeb・モバイルアプリ技術を武器にお客様のビジネス立ち上げを支援する、タケユー・ウェブ株式会社の技術ブログです。

プラグイン設定の入力チェックを行う方法メモ

必要になったので調べてみたメモ。

save_config_filterコールバックを使う。

config.yaml

key: hoge
settings:
    required_setting:
        default: ""
callbacks:
    save_config_filter.hoge: $hoge::Hoge::Plugin::_cb_save_config_filter

Hoge/Plugin.pm

sub _cb_save_config_filter {
    my ( $cb, $plugin, $data, $scope ) = @_;
    my $app = MT->instance;
    unless ( $data->{ required_setting } ) {
        return $plugin->error( $app->translate( 'Please enter some value for required \'[_1]\' field.', 'required_setting' ) );
    }

    return 1;
}

20130617112814.png