リストフォームの保存時に入力項目のチェックをする

まだ6月だというのに暑いですね・・・すでに夏バテ気味です。先が思いやられる今日この頃です。

さて、SharePointの場合、リストフォームでは必須項目のチェック(と、SharePointの式を使った入力チェック)は標準の設定でできますが、たとえば正規表現によるチェックやステータスによる場合分けなどの細かいチェックはできません。
なのでそうしたことをやりたい時、たとえばフォームの保存ボタンを押した段階で入力チェックが走り、項目の内容が正しくない場合アラートを出して保存できないようにできるといいですよね。

実はイベントハンドラなど書かなくとも、これをかなえる機能をSharePointはデフォルトでもっています。
それが、JavaScriptの組み込み関数PreSaveActionです。この関数内に書いた処理は新規・編集フォームの保存ボタンをクリックすると実行されます。

なお、この関数が動くしくみについてはいっつもお世話になっているブログ、idea.tostring() に良記事がありますので、ぜひご参考にしてみてください。
リスト フォームの「保存」ボタン クリック時に任意の JavaScript 処理を追加する

以下、PreSaveActionを使って正しくURLが入力されているかどうか正規表現でチェックするサンプルです。(jQueryつかってます)
SharePoint2010 & SharePoint2013 どちらでも動きます!

function PreSaveAction() {
    var regex = new RegExp('http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?', 'g');
    var str = $("input[title='URL']").val();
    var result = regex.test(str);

    if(!result) {
        alert("ただしくURLを入力してください");
        return false;
    } else {
        return true;
    }
}

これで必須チェックだけでなく、もっときめ細かい入力チェックができそうですね!

広告

リストフォームの保存時に入力項目のチェックをする」への1件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中