2013-02-02 48 views
-2

我必須防止我的salesforce帳戶從機器人。我試圖在salesforce服務器端設置一個驗證規則來檢查我提交表單中的隱藏字段。任何人都可以幫助我在銷售人員服務器中設置驗證規則,以將隱藏字段值與我的字符串進行比較。Salesforce驗證

+3

向我們展示您嘗試過的內容。 – Daedalus

+0

我把一個隱藏的文本字段的值是「是」。我計劃在salesforce帳戶中設置驗證規則來檢查表單隱藏字段的值。如果值是「是」,我必須允許表單。否則,表單應該顯示錯誤消息。 –

+1

我的意思是代碼。 – Daedalus

回答

4

您已經將問題標記爲php & salesforce,因此我假設您有某種PHP前臺頁面在後臺與Salesforce交談?

在這種情況下,我認爲你做錯了。

嘗試儘快阻止垃圾郵件發送者 - 在您的PHP中。與SF的通信,在那裏驗證並回來只會浪費CPU週期和網絡流量。實現reCAPTCHA或者簡單地在PHP表單中添加隱藏字段...我認爲最好是通過javascript添加此字段(機器人無法評估JS),如果該字段不存在&沒有您的預期值 - 阻止頁面提交。

積分爲使預期值是隨機的,使用會話/餅乾...地獄,一定要有噸關於PHP簡單的機器人保護的閱讀材料;)

這樣,你的PHP是你唯一的網關,您甚至不需要salesforce中的新領域。但是,如果你堅持 - 最簡單的驗證規則將

MyCustomField__c != 'Yes' 

如果無法拿出你有很多的閱讀之前,你SF配置這樣的解決方案......

如果你有一個專用用戶的憑據存儲在PHP腳本中,您可能決定將此規則僅應用於此特定用戶,而不會糾正常規SF用戶。在這種情況下,這樣的事情就可以實現。

CONTAINS($User.Username, '[email protected]') && MyCustomField__c != 'Yes' 
-1

在此處添加OR。否則,選項列表必須同時具有兩個值,才能評估爲真。

AND(
DATEVALUE(CreatedDate) > DATE(2012,8,23), 
AND(
OR(
ISPICKVAL(CCI_Division_Region__c , "CCI Networks"), 
ISPICKVAL(CCI_Division_Region__c , "CCI Distribution")), 
OR(
AND(Services__c > 0, 
ISBLANK(TEXT(Product__c)), 
ISBLANK(Services_Product_Involved__c)), 
AND(Support__c > 0, 
ISBLANK(Support_Provider__c)), 
AND(Product__c > 0, 
ISBLANK(TEXT(Product_Manufacturer__c)))))) 
for more salesforce validation rules and regulation you can follow this given link. http://alturl.com/8ouz8 
+0

解釋你做了什麼 – Suresh