2016-09-29 81 views
0

我想,當用戶從有喜歡的交流方式是移動的,或電話,但他們在電子郵件中輸入他們的電子郵件地址的形式挑選選項來實現電子郵件即一些服務器端驗證表格的文本框並留下確認電子郵件地址空白,服務器端仍應該拋出確認電子郵件不匹配的驗證,即使通信的首選方式是「移動」或「電話」。確認電子郵件服務器端驗證

請參考下面我的發言:

if (string.IsNullOrEmpty(this.Email) && Email != ConfirmEmailAddress) 
{ 
    yield return new ValidationResult("Please ensure confirm email matches", new[] { "ConfirmEmailAddress" }); //returns message 
} 

回答

0

使用||而不是&&

您當前的聲明是說「如果電子郵件爲空/空,並且電子郵件不等於確​​認電子郵件。」當它應該是「如果電子郵件爲空/空,或電子郵件不等於確​​認電子郵件。」

+0

現在確認的電子郵件地址始終是mandotory即使其空@ThePerplexedOne – Sam

+0

,我不希望它永遠是強制性的,即使其空@Sam我想確認電子郵件驗證,只有當用戶扔了在那裏輸入一個有效的電子郵件地址。 – Sam

0

您應該更新條件:

if (isPrefferedWayOfCommunication != mobileOrTelephone && emailIsNotNull && email != confirmEmail) { 
showEmailConfirmationError(); 
} 
+0

這樣的事情?如果(this.CCommmunication == Commmunication.Email && ConfirmEmailAddress =電子郵件!) { 產量返回新的ValidationResult( 「請確保確認電子郵件的比賽」,新的[] { 「ConfirmEmailAddress」}); //返回消息 } – Sam

+0

對,如果用戶也可以選擇通信模式爲「電子郵件」,則會更好。 – Tushar

0

我僅僅指剛錯過了!操作字符串之前

if (!string.IsNullOrEmpty(this.Email) && Email != ConfirmEmailAddress) 
      { 
       yield return new ValidationResult("Please ensure confirm email matches", new[] { "ConfirmEmailAddress" }); //returns message 
      }