2009年9月9日水曜日

入力チェック機能付きのカスタムリスト

SharePoint標準のカスタムリストは、簡単に列の追加が出来て簡単にデータベースもどきが作れます。
でも、整合性を保つ事が大変、、、
カスタムリストの入力時に事前チェックが出来れば便利だなーと、、

有りました。インド人すげー
KEMO: 12/01/08
作成したシナリオでは、e-Mailアドレスの整合性チェックを正規表現で確認しています。

  1. カスタムリストにメールアドレス様の列を追加します。
    02
  2. SharePoint Designerでカスタムリストの「NewForm.aspx」を直接変更するのは怖いので、、コピーして「NewMail.aspx」を作りました。コピーぺでOKです。
    03
  3. ダブルクリックで「NewMail.aspx」を開きます。
  4. 標準のリストWebパーツ」を選択し、右クリック、「Webパーツのプロパティ」を開きます。
    04 
  5. プロパティページでレイアウト配下の「非表示」にチェックを入れて「OK」でプロパティを閉じる
    05
  6. 「標準のリストWebパーツ」が選択状態だと思いますので、キーボードの右ボタンを押して下さい。「標準のリストWebパーツ」からフォーカスが外れたらメニューから ”挿入→SharePointコントロール→ユーザー設定のリストフォーム” をクリックします。
    06
  7. ここは、非表示にしたWebパーツの代わりの入力フォームを設定します。
    カスタマイズする「リスト名」「コンテンツの種類」が正しい事と、
    フォームの種類=アイテムの作成」となっている事を確認してOKをクリックします。
    07
  8. 非表示にした標準のリストWebパーツの代わりに入力フォームが表示された事を確認します。
    08
  9. メールアドレス用のフィールド「Mail」を選択し、右クリック、「コモンコントロールタスクの表示」をクリックします。
    09
  10. フィールド「Mail」の書式を「リストフォームフィールド」から「テキストボックス」へ変更します。
    10

     25
  11. コントロールの書式が下記の様に変わった事を確認します。
    17
  12. SharePoint Designerのツールボックスから、”ASP.NETコントロール→入力規則→RegularExpressionValidator”を選択します。
    18
  13. ドラッグ&ドロップでフィールド「Mail」の横に「RegularExpressionValidator」コントロールを貼り付けます。
    22
  14. 貼り付けたコントロールのプロパティを開き、「ControlToValidate」の▼をクリックしたら候補が表示されるので、「Mail」フィールドのIDを設定します。
    23
  15. 続けて、「ErrorMessage」に適当なメッセージを入力、「SetFocusOnError」をTrueに変更、「ValidationExpression」の「…」をクリックして正規表現エディタでメールあどれるの正規表現を入力します。
    19
  16. こんな感じになります!必要に応じてメールフィールドのサイズを変更して下さい。
    24
  17. 「NewMail.aspx」を保存して下さい。
  18. カスタムリストがカスタマイズした新規登録フォームを使用するように変更する為、リストを右クリック、プロパティを開いて「新しいアイテムのフォーム」を「NewMail.aspx」に変更して保存します。
    12
  19. カスタムリストに入力チェックが実装された事が確認できます。
    試しに、エラー状態でOKを押しても保存されません。
    20
    21

この様な感じで入力チェックが実装出来ました。
「新しいアイテムのフォーム」だけではなく、編集用フォームも同様の手順で設定すれば完成です。

0 件のコメント: