嘿,我有一個數據輸入模塊。確保2個字段相同
我希望確保兩個字段在允許保存前是相同的。如果它們不匹配(類似於網站在提交之前確認電子郵件的方式是否相同),我希望它能說出「確保這兩個字段匹配」並且不保存,直到它們完成。
我該怎麼做?這是阻止我將這個模塊推出的唯一因素。
謝謝!
嘿,我有一個數據輸入模塊。確保2個字段相同
我希望確保兩個字段在允許保存前是相同的。如果它們不匹配(類似於網站在提交之前確認電子郵件的方式是否相同),我希望它能說出「確保這兩個字段匹配」並且不保存,直到它們完成。
我該怎麼做?這是阻止我將這個模塊推出的唯一因素。
謝謝!
你可以很容易地把它關掉。
比方說,你要確認以下兩個字段匹配:
username_c
和
username_compare_c
創建模塊目錄中的JavaScript文件名爲force_username_compare.js和下面的代碼添加到它:
addToValidateComparison('EditView', 'username_c', '', true, 'Compare Test', 'username_compare_c');
然後,你需要從視圖吐出那個js。編輯你的模塊。假設你沒有自定義設置view.edit還創建以下文件,並添加以下代碼: 定製/模塊/ YOUR_MODULE_NAME /視圖/ view.edit.php
class YOUR_MODULE_NAMEViewEdit extends ViewEdit
{
public function display()
{
// make sure it works in the subpanel too
$this->useForSubpanel = true;
// definitely need to call the parent method
parent::display();
// make sure to echo this out AFTER parent::display() call
echo '<script type="text/javascript" src="custom/modules/YOUR_MODULE_NAME/force_username_compare.js"></script>';
}
}
的addToValidateComparison會照顧一切爲您的辛勤工作,包括防止記錄如果字段不匹配保存。 '比較測試'參數是當字段不匹配時顯示的消息。繼續並將其改爲任何你喜歡的。
最後注意:這是一個很好的文章,介紹如何在你的視圖中獲得一些javascript:https://www.atcoresystems.com/blog/adding-custom-javascript-to-a-sugarcrm-view。我使用視圖控制器的方法,因爲我們不希望我們的JavaScript運行,直到字段出現在DOM後,我不想寫關於是否jQuery,因此document.ready方法是容易訪問。