2016-04-11 26 views
1

ve ben şu modeli vardır:Uzaktan Doğrulama ben ASP.NET CORE RC1 kullanıyorum

public class AccountSignUpModel { 

    [EmailAddress(ErrorMessage = "Email is invalid")] 
    [Required(ErrorMessage = "Email is required")] 
    [Remote("IsEmailAvailable", "Validation", ErrorMessage = "Email already used", HttpMethod = "Get")] 
    public String Email { get; set; } 

} 

Ve şu denetleyicisi vardır:

public class ValidationController : Controller { 
    [HttpGet] 
    public IActionResult IsEmailAvailable(String email) { 
    return Json(false); 
    } 
} 

Formu her zaman geçerli olan bir e-posta ile gönderiyorum.

IsEmailAvailable eyleminin içine bir kesme noktası yerleştirdim ve ateş etmiyor.

Bunun neden olduğu hakkında bir fikriniz var mı?

+0

Dönüş türünü 'boole' yapma ve sadece 'true' veya 'false' döndürme - ya da 'JsonResult' türünde dönüş türüne sahip olmayı denediniz mi? –

+0

Tam olarak "String Email" yerine "String Email" ile denediniz mi? – Dumisani

+0

@Dumisani E-posta ile yeni denedim ama sorunu çözmüyor. –

cevap

0

Eylemi [HttpPost] fiil yerine [HttpGet] fiiliyle işaretlediniz. Ayrıca, eyleminizin parametresi, AccountSignUpModel not String türünde olmalıdır, aksi halde doğrulama kuralları çalışmaz.

+0

Önerilerinizi denedim ve fiili HttpPost olarak değiştirdim ve eylem yönteminin parametresi olarak AccountSignUpModel ekledim, ancak çalışmadı. Model her zaman geçerlidir ve kesme noktası bile ateş etmez. Ne olduğuna dair hiçbir fikrim yok ... –

+0

Bize form işaretini gösterebilir misiniz? – davidferguson

İlgili konular