input filters
This commit is contained in:
parent
893aa1a42a
commit
e625c31b44
5 changed files with 63 additions and 30 deletions
|
|
@ -1,6 +1,8 @@
|
|||
using System;
|
||||
using System.Globalization;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Mvc.ModelBinding;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Yavsc
|
||||
{
|
||||
|
|
@ -9,13 +11,12 @@ namespace Yavsc
|
|||
|
||||
public async Task<ModelBindingResult> BindModelAsync(ModelBindingContext bindingContext)
|
||||
{
|
||||
ValueProviderResult valueResult = bindingContext.ValueProvider
|
||||
Console.WriteLine(JsonConvert.SerializeObject(bindingContext));
|
||||
ValueProviderResult valueResult = bindingContext.ValueProvider
|
||||
.GetValue(bindingContext.ModelName);
|
||||
decimal actualValue ;
|
||||
ModelStateEntry modelState = new ModelStateEntry();
|
||||
try {
|
||||
actualValue = Decimal.Parse(valueResult.FirstValue, System.Globalization.NumberStyles.AllowDecimalPoint);
|
||||
|
||||
return await ModelBindingResult.SuccessAsync(bindingContext.ModelName,actualValue);
|
||||
}
|
||||
catch (Exception ) {
|
||||
|
|
@ -23,4 +24,28 @@ namespace Yavsc
|
|||
return await ModelBindingResult.FailedAsync(bindingContext.ModelName);
|
||||
}
|
||||
}
|
||||
|
||||
public class MyDateTimeModelBinder : IModelBinder
|
||||
{
|
||||
public async Task<ModelBindingResult> BindModelAsync(ModelBindingContext bindingContext)
|
||||
{
|
||||
Console.WriteLine(JsonConvert.SerializeObject(bindingContext.ValueProvider));
|
||||
ValueProviderResult valueResult = bindingContext.ValueProvider
|
||||
.GetValue(bindingContext.ModelName);
|
||||
Console.WriteLine(JsonConvert.SerializeObject(valueResult));
|
||||
DateTime actualValue ;
|
||||
ModelStateEntry modelState = new ModelStateEntry();
|
||||
CultureInfo[] cultures = { new CultureInfo("en-US"),
|
||||
new CultureInfo("fr-FR"),
|
||||
new CultureInfo("it-IT"),
|
||||
new CultureInfo("de-DE") };
|
||||
foreach (CultureInfo culture in cultures)
|
||||
if (DateTime.TryParse(valueResult.FirstValue,culture, DateTimeStyles.AllowInnerWhite, out actualValue))
|
||||
{
|
||||
return await ModelBindingResult.SuccessAsync(bindingContext.ModelName,actualValue);
|
||||
}
|
||||
|
||||
return await ModelBindingResult.FailedAsync(bindingContext.ModelName);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue