我有一个字符串字段名称consoleServerPort,我想在保存之前修剪其中的所有空格。我在我的控制器类中使用它,如下所示: -
public ActionResult Edit(FirewallJoin fj, FormCollection formValues)
{
fj.ConsoleServerPort = !String.IsNullOrEmpty(fj.ConsoleServerPort) ? fj. ConsoleServerPort.Trim() : "";
但我必须在每个动作方法上重复这一步骤。所以我在Ivalidatable方法中的模型级别找到了另一种方法,如下所示: -
public partial class TMSFirewall : IValidatableObject
{
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if(!String.IsNullOrEmpty(ConsoleServerPort)){
ConsoleServerPort = ConsoleServerPort.Trim();
}
我的第二种方法听起来有效吗?或者最好使用第一种方法? 谢谢
修改 我正在使用实体框架,我做了以下 我在我的模型类中尝试了以下内容,我添加了以下内容: -
[MetadataType(typeof(TMSSwitchPort_Validation))]
[Bind(Include = "PortNumber,SwitchID,TechnologyID")]
public partial class TMSSwitchPort //: IValidatableObject
{
}
然后在MetadataType类中添加了以下内容: -
public class TMSSwitchPort_Validation
{
private string consoleServerPort;
[Required]
[StringLength(10)]
[Display(Name="Port Number1111")]
public String PortNumber
{
get { return this.consoleServerPort; }
set { this.consoleServerPort = value.Trim(); }
}
}
但是ConsoleServerPort不会被修剪?你能建议可能出现的问题吗?
由于
答案 0 :(得分:3)
你不能在属性设置器上做到吗?
public class FirewallJoin
{
private string _consoleServerPort;
public string ConsoleServerPort
{
get
{
return _consoleServerPort;
}
set
{
_consoleServerPort = value.Trim();
}
}
}