मैं कुछ चारों ओर मेरे द्वारा बनाए गए बुनियादी ServiceStack आवेदन के भीतर आग धाराप्रवाह-मान्यता हो रही अनदेखी किया जाना चाहिए। मैं उदाहरण का पालन कर रहा हूं here। मेरे जीवन के लिए मैं अपने वैधकर्ता आग नहीं लग रहा है ???? टुकड़े, कुछ बेवकूफ होना चाहिए कि मैं याद कर रहा हूँ .... ???ServiceStack और FluentValidation नहीं फायरिंग
मैं उपयोगकर्ता सेवा (http://my.service/users) के खिलाफ उपयोगकर्ता अनुरोध जारी कर रहा हूं, अनुरोध सीधे पंजीकृत वैध सत्यापनकर्ता के बिना सीधे चला जाता है।
अनुरोध है: { "नाम", "", "कंपनी", "सह", "आयु": 10, "गणना": 110, "पता": "123 भूरे रंग str"।}
प्रतिक्रिया: 1.DTO
[Route("/users")]
public class User
{
public string Name { get; set; }
public string Company { get; set; }
public int Age { get; set; }
public int Count { get; set; }
public string Address { get; set; }
}
: "उपयोगकर्ता को बचाया ..."
यहाँ कोड है
2.Validator
public class UserValidator : AbstractValidator<User>
{
public UserValidator()
{
RuleFor(r => r.Name).NotEmpty();
RuleFor(r => r.Age).GreaterThan(0);
}
}
3.AppHostBase
public class ValidationAppHost : AppHostBase
{
public ValidationAppHost()
: base("Validation Test", typeof(UserService).Assembly)
{
}
public override void Configure(Funq.Container container)
{
Plugins.Add(new ValidationFeature());
//This method scans the assembly for validators
container.RegisterValidators(typeof(UserValidator).Assembly);
}
}
4.Service
public class UserService : Service
{
public object Any(User user)
{
return "user saved...";
}
}
5.Global.asax.cs
protected void Application_Start(object sender, EventArgs e)
{
new ValidationAppHost().Init();
}
कुछ भी नहीं खड़ा है। आप अपना अनुरोध कैसे पोस्ट कर रहे हैं? क्या अंत में प्रारूप (http: //my.service/users? Format = json) जोड़ना प्रतिक्रिया बदलता है? – paaschpa
मैं बस Google क्रोम ऐप का उपयोग कर रहा हूं। [बाकी-कंसोल] (http://codeinchaos.com/post/3610180596/rest-console-a-google-chrome-rest-http-client)। मैं एक मानक एएसपी.नेट वेब साइट के अपने लोकहोस्ट इंस्टेंस के खिलाफ JSON को फायर कर रहा हूं। – darthal
हम्म ... आपके कोड की प्रतिलिपि बनाई और आरईएसटी कंसोल सेटिंग्स 'लक्ष्य> अनुरोध यूआरआई' = लोकलहोस्ट/उपयोगकर्ता, 'लक्ष्य> अनुरोध विधि' = POST, 'बॉडी> सामग्री प्रकार' = एप्लिकेशन/जेसन, 'बॉडी> रॉ बॉडी' = {ऊपर आपका अनुरोध} और सत्यापन को हटाएं 'भेजें' पर क्लिक करें। क्या अन्य सभी फ़ील्ड रीस्ट-कंसोल खाली हैं (यानी अनुरोध पैरामीटर)? यह भी जांचने के लिए कि प्लगइन्स/फ़िल्टर सही तरीके से सेटअप हैं या नहीं, http://stackoverflow.com/questions/15297745/servicestack-validation-not-always-firing/15345117#15345117 देखें। – paaschpa