ฉันจะทำอย่างไร จำเป็น หากตรวจสอบโดยฟังก์ชันใน MVC5

หากมีอีเมลอยู่โดยการตรวจสอบฟังก์ชัน ฉันต้องการแสดงข้อผิดพลาด

ฉันจะทำอย่างไร?

 [RequiredIf(BL.datafuncs.checkIfExist(email) == true, ErrorMessage = "email already exist")]

 public string email { get; set; }

person david    schedule 29.10.2014    source แหล่งที่มา
comment
คุณกำลังพยายามทำอะไรที่นี่? ฟังดูเหมือนคุณต้องการแอตทริบิวต์ [Remote] ที่ตรวจสอบว่ามีอีเมลอยู่แล้วในฐานข้อมูลหรือไม่ และแสดงข้อผิดพลาดหากมี นั่นไม่ใช่สิ่งที่ [RequiredIf] มีไว้เพื่อ   -  person    schedule 29.10.2014


คำตอบ (2)


คุณลักษณะ RequiredIf ใช้สำหรับการตรวจสอบคุณสมบัติที่จำเป็นโดยพิจารณาจากค่าของคุณสมบัติอื่น ตัวอย่างเช่น หากโมเดลของคุณมีคุณสมบัติ bool NotifyMeByEmail และ string EmailAddess คุณสามารถนำไปใช้ได้ดังต่อไปนี้

public bool NotifyMeByEmail { get; set; }

[RequiredIf("NotifyMeByEmail", ErrorMessage = "Please enter you email address")]
public string EmailAddress { get; set; }

จากนั้นในมุมมอง หากไม่ได้ทำเครื่องหมายในช่องสำหรับ NotifyMeByEmail จะมีการสร้างข้อผิดพลาดในการตรวจสอบความถูกต้องสำหรับ EmailAddress

ดูเหมือนว่าคุณต้องการตรวจสอบความถูกต้องของอีเมลที่ผู้ใช้ป้อนว่าไม่มีอยู่ในฐานข้อมูลของเขา ซึ่งในกรณีนี้คุณต้องมีแอตทริบิวต์ [Remote] (MVC มาตรฐาน ไม่สามารถป้องกันความผิดพลาดได้) วิธีการ: ใช้การตรวจสอบระยะไกลใน ASP.NET MVC

person Community    schedule 29.10.2014

คุณลักษณะที่กำหนดเองถูกฝังอยู่ในแอสเซมบลี ไม่ใช่สิ่งที่รันไทม์ ดังนั้นคุณจึงไม่สามารถใส่ฟังก์ชันไว้ในอาร์กิวเมนต์ของแอตทริบิวต์ได้ ฉันขอแนะนำให้คุณตรวจสอบการเรียกคอนโทรลเลอร์ของคุณและดำเนินการบางอย่างตามนั้น

person Steve    schedule 29.10.2014