кодигнитор с умом и с додзё - PullRequest
0 голосов
/ 26 марта 2012

Я использую CI + smarty + dojo framework в одном приложении. Мне нужна помощь. Я создал приложение, используя эти три рамки. просыпается нормально. У меня только одна ошибка. в моем файле .tpl код, если следующим образом.

<div id="dialogAddFactory" data-dojo-type="dijit.Dialog" data-dojo-props="title:'{$factory_lang_data[factory_lang_data].add_factory_info}'" onCancel="clearfactoryform();" style="display: none;">
<form dojoType="dijit.form.Form" id="frmadd">
    {literal}
        <script type="dojo/method"
        data-dojo-event="onSubmit" data-dojo-args="evt">
            if(this.validate()) {
                    insert_factory_dt();
                    return false; 
            } else {
                return false;
            }
        </script>
    {/literal}
<table>
    <tr>
        <td><label for="txtfactoryname">{$factory_lang_data[factory_lang_data].factory_name_label} </label></td>
        <td><input type="text" required="true" name="txtfactoryname"
            id="txtfactoryname" placeholder="{$factory_lang_data[factory_lang_data].enter_factory_name}"
            dojoType="dijit.form.ValidationTextBox"
            missingMessage="{$factory_lang_data[factory_lang_data].factory_name_is_empty}" /></td>
    </tr>
    <tr>
        <td><label for="txtaddress">{$factory_lang_data[factory_lang_data].factory_address_label} </label></td>
        <td><textarea id="txtaddress" name="txtaddress"
            data-dojo-type="dijit.form.SimpleTextarea" rows="4" cols="25"
            style="width: auto;"></textarea></td>
    </tr>
    <tr>
        <td><label for="txtcity">{$factory_lang_data[factory_lang_data].factory_city_label} </label></td>
        <td><input type="text" required="true" name="txtcity" id="txtcity"
            placeholder="{$factory_lang_data[factory_lang_data].enter_city_name}"
            dojoType="dijit.form.ValidationTextBox"
            missingMessage="{$factory_lang_data[factory_lang_data].city_name_is_empty}" /></td>
    </tr>
    <tr>
        <td><label for="txtstate">{$factory_lang_data[factory_lang_data].factory_state_label} </label></td>
        <td><input type="text" required="true" name="txtstate" id="txtstate"
            placeholder="{$factory_lang_data[factory_lang_data].enter_state_name}" dojoType="dijit.form.ValidationTextBox"
            missingMessage="{$factory_lang_data[factory_lang_data].state_name_is_empty}!" /></td>
    </tr>
    <tr>
        <td><label for="txtcountry">{$factory_lang_data[factory_lang_data].factory_country_label} </label></td>
        <td><input type="text" required="true" name="txtcountry"
            id="txtcountry" placeholder="{$factory_lang_data[factory_lang_data].enter_country_name}"
            dojoType="dijit.form.ValidationTextBox"
            missingMessage="{$factory_lang_data[factory_lang_data].country_name_is_empty}!" /></td>
    </tr>
    <tr>
        <td><label for="txtpincode">{$factory_lang_data[factory_lang_data].factory_pincode_label} </label></td>
        <td>

        <input type="text" required="true" name="txtpincode"
            id="txtpincode" placeholder="{$factory_lang_data[factory_lang_data].enter_pincode_here}"
            dojoType="dijit.form.ValidationTextBox"
            {literal}
            data-dojo-props="regExp:'\\d{6}', invalidMessage:'{$factory_lang_data[factory_lang_data].pincode_is_invalid}'"
            {/literal}
            missingMessage="{$factory_lang_data[factory_lang_data].pincode_is_empty}!" />

        </td>
    </tr>
    <tr>
        <td colspan="2" align="center">
        <div class="dijitDialogPaneActionBar">
        <button dojoType="dijit.form.Button" type="submit">{$factory_lang_data[factory_lang_data].save}</button>
        </div>
        </td>
    </tr>
</table>
</form>
</div>

Теперь это рабочий файл. но в Пинкоде есть регулярное выражение и сообщение о недействительности, пришедшее из языкового файла. он также проверит пин-код, но не отобразит сообщение о недействительности, пришедшее из языкового файла. он просто отображает

{$factory_lang_data[factory_lang_data].pincode_is_invalid}

1 Ответ

2 голосов
/ 26 марта 2012

Проблема в том, что вы использовали интеллектуальную переменную внутри тега {literal}.Попробуйте заменить код выше с этим:

{literal}
 data-dojo-props="regExp:'\\d{6}', 
 invalidMessage:'{/literal}{$factory_lang_data[factory_lang_data].pincode_is_invalid}{literal}'"
 {/literal}
...