2016-04-12 3 views
0

私は選択したdojoコントローラを持っています。必要なフィールドにポップアップメッセージを変更します

<select dojoType="dijit.form.Select" data-dojo-attach-point="drpSomthing" id="drpSomthing" 
       data-dojo-props="regExp:'\\d{5}', required:true, invalidMessage:'Invalid zip code.'"></select> 

これは必須フィールドです。私はポップアップメッセージを "この値は必須"から別のものに変更したい。 "invalidMessage""promptMessage""Missing message"を使用しようとしましたが、役に立たなかった。 私はポップアップメッセージを変更できますか?地元のプロパティからi18n.getLocalization("dijit.form", "validate", this.lang).missingMessage ない:

よろしく

コビ

答えて

1

dijit.form.Selectnlsからのメッセージを取得しています。このようにそのプロパティ_missingMsg

を、あなたのdijit.form.Selectが作成された後

  • 更新:

    これはdijit.form.SelectpostMixInProperties方法で行わ

    あなたは二つのことを行うことができます(https://github.com/dojo/dijit/blob/master/form/Select.js#L364を参照してください) :

    mySelect._missingMsg = 'what ever message you want'; 
    

    (ただし、私有財産を変更しているので、これは汚いです)

    • や、きれいな方法:あなたがpostMixInPropertiesを再定義し、あなたがdijit.form.Selectの代わりにこの新しいウィジェットを使用dijit.form.Selectを拡張し、新しいウィジェットを作成このよう

    define([ 
     
    \t "dojo/_base/declare", 
     
    \t "dijit/form/Select" 
     
    ], function(declare, Select) { 
     
        return declare([Select], { 
     
         postMixInProperties: function(){ 
     
    \t \t \t // summary: 
     
    \t \t \t // \t \t set the missing message 
     
    \t \t \t this.inherited(arguments); 
     
    \t \t \t this._missingMsg = 'What ever message you want'; 
     
    \t \t } 
     
        }); 
     
    });

関連する問題