Új hozzászólás Aktív témák
-
joysefke
veterán
.NET Core 2 MVC - model validálás, miért nem megy?
Sziasztok!
Szeretném a (működő) model validálást kiszervezni a kontrollerből egy külső osztályba. Létrehoztam egy : Attribute, IModelValidator interfészeket megvalósító validátor attributum-osztályt, a nevével dekoráltam az action method megfelelő paraméterét, mégis semmi nem utal arra, hogy valaha, bármilyen körülmények között eljutna a végrehajtás az én általam definiált IModelValidator.Validate() metódushoz. Sem a breakpoint sem a Validate függvényben levő exception nem aktiválódik. A
fileparaméterValidatedbejegyzést rak a ModelState-be akkor is amikor nem kéneRészletek:
[HttpPost]
public IActionResult EditPerson(Person model, int id, [ImageValidator]IFormFile file)Itt a
file-t kellene validálni.Itt a validátor:
public class ImageValidatorAttribute : Attribute, IModelValidator
{
public bool IsRequired => true;
// Max size of image in KB
public int MaxSize { get; set; } = 1024;
// Allowed extensions
public string Extensions { get; set; } = ".jpg .jpeg";
public IEnumerable<ModelValidationResult> Validate(ModelValidationContext context)
{
throw new NotImplementedException();
IFormFile file = context.Model as IFormFile;
List<ModelValidationResult> result = new List<ModelValidationResult>();
if (file != null) {
.....
....
}
return result;
}
}A kontrolleren beül így néz ki a file paraméter-kezelése:
if (ModelState.GetValidationState(nameof(file)) == Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState.Valid)
{....}Ez mindig igaz...
Elmulasztottam valamit? Kell esetleg regisztrálni valahol a validátort?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- TCL LCD és LED TV-k
- Filmvilág
- Elemlámpa, zseblámpa
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Mibe tegyem a megtakarításaimat?
- Battlefield 6
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- További aktív témák...
- Szép! HP EliteBook 855 G7 Fémházas Strapabíró Laptop 15,6" -65% AMD Ryzen 3 PRO 4450U 16/256 FHD
- Logitech G923 + állvány (PS5/PS4/PC) újszerű
- Bomba ár! HP Elitebook 850 G8 - i5-11GEN I 16GB I 256GB SSD I 15,6" FULLHD I Cam I W11 I Gari!
- Bomba ár! Lenovo ThinkPad L390 - i7-8GEN I 16GB I 256SSD I 13,3" FULL HD I HDMI I Cam I W11 I Gari!
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256SSD I 12,5" HD I HDMI I CAM I W11 I Gari!
- Csere-Beszámítás! Playstation 5 Slim Disc Edition ( Lemezes Slim PS5 Konzol.)
- Dobozos! Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- BESZÁMÍTÁS! MSI B550M R7 5700X 32GB DDR4 1TB SSD RTX 4070 12GB Lian Li Vector V100R FSP 650W
- LG 75QNED813RE / QNED / 75" - 190 cm / 4K UHD / 120Hz & 4ms / HDR Dolby Vision / HDMI 2.1
- GYÖNYÖRŰ iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3972
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
