我正在使用ASP.NET MVC3代码优先,并且我已经在我的模型中添加了验证数据注释。下面是一个示例模型:
public class Product
{
public int ProductId { get; set; }
[Required(ErrorMessage = "Please enter a name")]
public string Name { get; set; }
[Required(ErrorMessage = "Please enter a description")]
[DataType(Da
在ASP.NET MVC中,您可以使用ModelState.IsValid()验证传递给Action的模型。
我希望验证任意对象,而不是传入的一个模型。我如何使用框架的库来做到这一点呢?
public ActionResult IsValidSoFar()
{
// Get a user's autosaved data
var json = await ...
HomeModel model = JsonConvert.Deserialize<HomeModel>(json);
// Validate the model <----
在“结帐控制器”中,我有代码
[HttpPost]
public ActionResult AddressAndPayment(FormCollection values)
{
var order = new Order();
TryValidateModel(order);
....
模型看起来像这样
[Bind(Exclude="OrderId")]
public partial class Order
{
[ScaffoldColumn(false)]
public int OrderId
我有一个视图,在这里我加载了一个表单来更新用户。当我用页面上显示的数据填充视图模型UpdateUserViewModel时,UserModel上的Info属性为null。这是预期的,因为数据库中根本没有它的记录,因此无法检索它。但是,我仍然为它的两个属性添加隐藏字段,因为当我发布表单时,我希望用默认值创建Info属性,这确实发生了。
public UpdateUserViewModel {
public UserModel User { get; set; }
}
public class UserModel
{
public int Id { get; set; }
我有以下的模型类:
public abstract class CompanyFormViewModelBase
{
public CompanyFormViewModelBase()
{
Role = new CompanyRoleListViewModel();
ContactPerson = new PersonListViewModel();
Sector = new SectorListViewModel();
}
[Required]
[Display(Name = "Company N
这是在ASP.NET核心MVC2.1中。 所以我想要做的是验证我从文件中读取的对象列表。 控制器成功读取文件并获取数据。我使用的是DTO版本的模型,听说这样做更好。 主实体模型。 public class Person
{
[Key]
public int ID { get; set; }
[Required(ErrorMessage = "Osoba obavezno mora imati ime")]
public string FirstName { get; set; }
[Required(ErrorMessage = &
在我改变控制器中的模型后,我正在尝试“重新运行”ModelState的验证。这有可能做到吗?下面是解释它的代码示例:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ContactUs(ContactUsModel model)
{
model.Email = "defaultemail@world.com";
// Email is required field and even though it's
// now valid ModelState.IsValid is
我有一个使用模型列表的操作。我想单独验证每个模型,而不是一次性验证整个模型集合。我正在尝试使用TryValidateModel,但似乎如果我的任何一个模型是无效的,那么所有模型都是无效的。我的表单显示5个SurveyResponseModels (一个包含两个必需字符串和两个int的类)。如果我完整地填写了所有五个模型,我会得到下面的validCount =5。但是,如果五个模型中的任何一个是不完整的(因此没有通过验证),我得到的validCount为0。是TryValidateModel的预期行为吗?如果是这样的话,我该如何一次验证一个呢?
[HttpPost]
public
我有一个两步的表单过程,其中第一组数据存储在会话中。
[IsMp4File]
[Required(ErrorMessage = "* Please select a video to upload")]
public HttpPostedFileBase VideoClip { get; set; }
[Required(ErrorMessage = "* Please select a thumbmail image")]
public HttpPostedFileBase VideoThumbnail{ get; set; }
public strin
将JSON发布到Web API时,不仅会自动反序列化,还可以使用模型验证,如下所示 // ItemPostRequest
class ItemPostRequest {
[Required] // this will automatically be validated and errors created if it is missing
public string Description { get; set; }
} 然而,在我的例子中,我只有一个包含JSON的字符串。我可以使用JsonSerializer.Deserialize<ItemPostRequest&
我有一个动作方法,它有一个像这样的object type输入:
public async Task<IActionResult> DoSomeThing([FromBody]object input, bool options)
{
if (options == true)
{
var castedInput = (A) input;
if (TryValidateModel(castedInput))
{
// do some thing
}
else
是否可以在ViewModel上设置条件,其中数据等于实体框架中的一个字段中的特定值,所需的元素或整个对象在ViewModel上使用TryValidateModel之前被从ViewModel中删除?
我想将HomeValue和PurchasePrice从OwnOrRent (model.OwnOrRent)不等于1或9的模型验证中删除。
Model.cs
public class Address
{
public int Id { get; set; }
[DisplayName("House Name or Number")]
[StringLengt
我有一个ApiController,其中有一个接受VariableTemplateViewModel的Post方法,如下所示:
public class VariableTemplateViewModel
{
public VariableTemplateViewModel() { }
public double Version { get; set; }
[Required]
public List<VariableViewModel> Variables { get; set; }
}
public class VariableViewMo
在我的项目中,我有一个使用另一个类的模型类,如下面的示例所示。模型中的一个属性的验证依赖于子对象的属性--在此示例中,LastName属性的验证依赖于Address.PostalCode属性的值。我实现了一个自定义的验证属性来验证我的LastName属性,它工作得很好。
public class User
{
public static ValidationResult ValidateLastName(string lastName, ValidationContext context)
{
// Grab the model instance
假设我有以下课程
class A
{
[Required]
public string Name {get; set;}
[Required]
public string NickName {get; set;}
[Required]
public string UserId {get; set;}
}
在表单中,我只将名称和NickName传递给控制器,在检查模型状态之前,我将用户id分配给UserId属性,如下所示
[HttpPost]
public IActionResult Save(A model)
{
model.Us
我正在使用ASP.NET MVC2,我想弄清楚如何在使用自定义绑定器填充模型之后重新触发模型上的验证。
因此,我从两个关联的EF类开始,Booking和Traveller (每个预订可以有一个或多个旅行者)
下面是我用来对预订进行身份验证的伙伴类:
[MetadataType(typeof(Booking_Validation))]
public partial class Booking {
// partial class compiled with code produced by VS designer
}
[Bind(Include="Name")]
pub
我正在接触实体框架,我想知道是否有一种方法可以让我在不进行模型绑定的情况下检查模型状态。
假设我主要从代码创建一个用户,有没有办法在更新之前根据我预定义的数据注释检查它是否有效?
public ActionResult Index()
{
User u = new User();
u.Username = "test";
u.Password = "test";
u.Email = "test";
DefaultContext db = new De
我正在使用ASP .NET核心5 Razor页面。
我的目标是拥有一组可以在几个页面上使用的部分视图(出于可重用的目的)。每个分部视图都有一个具有自己的自定义post事件处理程序的表单(它将由包含此部分视图的页面的代码隐藏处理)。
注:有些页面可以包含两个或更多不同的部分视图!我需要部分视图模型独立于其他(在两个单独的自定义事件处理程序中)进行验证。
以下是我今天使用的简化代码。部分视图模型(包含用户的一些数据):
public partial class User
{
[Required]
public string Name { get; set; }
[Requi
有一个应用程序是在ASP.NET MVC5框架之上编写的。
我有一个包含两个独立表单的页面(一个可见,另一个在页面加载时隐藏)。第一个表单有一个下拉菜单,如果用户选择"ABC“选项,我使用javascript来显示第二个表单。但如果他/她选择了任何其他选项,我会隐藏第二个表单。
(仅对客户端执行此操作)
现在,由于第二个表单在服务器端有一些必填字段,所以每次我提交表单时,属性ModelState.IsValid总是为false,因为第二个表单有一些未提供的必填字段。
下面是我的ViewModelCapsule类的样子
public class ViewModelCapsule
{
在我的控制器中,在get方法中,我用查询字符串中的元素创建了我的viewModel。我需要在MyViewModel中验证电子邮件,如何调用我的验证器EmailValidator?
public ActionResult Index(string countryCode)
{
var loginViewModel = _loginViewModelFactory.GetLoginViewModel();
if (**ifvalid(loginViewModel.Mail**))
{
_loginViewModelF
只是想同时学习MVC2/ .net 4.0。我只是在你开始一个“MVC2Web”项目时使用的通用模板VS (也就是,账户控制器和家庭控制器是为你设置的)。
所以我的问题是,视图又是强类型的模型。该模型如下所示:
[PropertiesMustMatch("Password", "ConfirmPassword", ErrorMessage = "The password and confirmation password do not match.")]
public class RegisterModel {
[Required]
这是我的控制器,我需要在操作方法获得executed.The操作方法接受Json对象之前验证输入参数,但是在这个方法中,我们将它转换为模型object.Is,可以在我的自定义操作过滤器中验证输入作为模型对象?ValidateParamFilterAttribute是我的自定义过滤器类,它应该接受作为参数.It的操作方法应该是泛型的,所以我不需要对我的应用程序中的每个操作方法重复它。
public class InputValidationController : ApiController
{
[HttpPost][ValidateParamFilter(typeof
我有一个复杂的对象,我正在绑定一个表单。模型活页夹如下所示:
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var form = new MyForm();
var myObject = ...; //try to load up the object
/* logic to populate values on myObject */
form.MyObject = myObject;
我使用ASP.NET MVC4.0并希望将一个jsonString对象传递给contoller,我将该对象解码为一个Model对象。如何验证该对象?
public JsonResult UpdateCategory(string jsonCategory)
{
var categoryWitSubcategories =
System.Web.Helpers.Json.Decode<CategoriesEntryViewModel>(jsonCategory);
// If model is invalid
我有一个从JSON反序列化的ViewModel,看起来像这样:
public class UserThingsUpdateViewModel
{
public IList<Thing> Things { get; set; }
[Required]
public int UserId { get; set; }
public int Age { get; set; }
}
Thing也是一个ViewModel,它在属性上也有各种DataAnnotaion ValidationAttribute属性。
问题是,列表似乎没有得到验证,即使经过彻底搜索,我
我正在开发一个MVC5代码第一应用程序。
在一个模型的Edit()视图中,我包含了[Create]按钮,以从Edit()视图中向其他模型添加新值,然后在Edit()上的DropDownFors()中重新填充新值。
对于第一次尝试,我将通过AJAX将一个model_description传递给我的控制器方法createNewModel()。
[HttpPost]
public JsonResult createNewModel(INV_Models model)
{
// model.model_description is passed in via AJAX -- Ex. 411
我正在构建.Net 5 Razor应用程序,并有一个包含两个对象的结构:
public class Location
{
public Guid Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
[ForeignKey("Organization")]
public Guid OrganizationId { get; set; }
public Organization Organization { get; set; }