投稿

2月, 2009の投稿を表示しています

正規表現 - 日本語チェック

イメージ
正規表現を使用すると、日本語チェックが簡単に定義できます。


以下、ルールとして定義します。




error("漢字は入力できません。")
     if KanjiName.IsMatch(".*[\u4E00-\u9FFF]+.*");


error("半角カナは入力できません。")
     if KanaName.IsMatch(".*[。-゚]+.*");












実行してみると・・・














情報提供 : Hayashida










正規表現

イメージ
Ver.Xから正規表現が利用できるようになりました。
正規表現を使用するといちいち文字列チェックをしなくても、パターンマッチングで入力チェックが可能です。


正規表現とは
http://ja.wikipedia.org/wiki/正規表現


設定場所は
項目属性(Attribute)又は変数(Valiable)のプロバティでValidation >> RegularExpression







又は、IsMatch()メソッドで検証できます。











例) パスワードチェック仕様



・最低10桁
・最低1小文字
・最低1大文字
・最低1数字
・最低1記号(@、#、$、%、^、&、+、-)

[上記の仕様を満たす正規表現]
^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$








はい。複雑な文字列チェックロジックを書かなくても、パスワード入力チェックが実装できましたね。



情報提供:Hayashida






2009年2月度技術部会の資料をアップしました。

ジェネクサス・ジャパン 横井です。

去る、2月23日に開催されました技術部会の資料をアッブします。

GeneXus開発でのドキュメントのあり方.pdf


尚、GxWikiおよびナレッジベース情報取り出し用xslにつきましては、準備が出来次第、アップしますので、しばらくお待ちください。




Window型変数

Ver.XからWindow型変数が追加されました。
このWindow型変数を利用すると、Webアプリケーションでモーダルウィンドウが実現可能です。


Event 'DoInsert'
  //&WinがWindow型変数
  &Win.Object = Customer.Create(TrnMode.Insert, nullvalue(CustomerNo))
  &Win.Open()

EndEvent




Window型変数の注意点


Window型の変数を使用してOpen()メソッドを実行しますと、開いたを
閉じた後に実行されるコマンドは以下の三つです。

refresh
return
Call

逆に、この三つのコマンド以外をOpen()後に記述されたコードはOpen()する前に実行されて
しまいます。


例1)
Event 'DoInsert'
  &Win.Object = Customer.Create(TrnMode.Insert, nullvalue(CustomerNo))
  &Win.Open()
  Grid.Refresh() 
  //これはOpen()の前に実行されウェブパネルのRefreshコマンドであればOpenされた画面が閉じられてから実行されます。
EndEvent




例2)
  Event 'DoInsert'
    &Win.Object = Customer.Create(TrnMode.Insert, nullvalue(CustomerNo))
    &Win.Open()
    Procedure.Call() 
    //トランザクションとウェブパネルのCALL以外はOpenの前に実行されます。
EndEvent