0
问题:我正在抛出此异常,而我正尝试使用配置文件中的Sprint.NET验证验证名为StudyEnvironment的业务对象。在Spring.NET验证中加载正确的上下文
'StudyEnvironment' node cannot be resolved for the specified context [Validation.Models.StudyEnvironment].
下面是重现异常的步骤,它被引发到最后一行。
问题:我在这里错过了什么吗?我需要在配置文件中以某种xml格式声明我的业务对象吗?或者Spring.NET只是神奇地选择它,我是Spring.NET的新手。
第1步:定义在web.config中一类
namespace Validation.Models
{
public class StudyEnvironment
{
private Guid id;
public String Name { get; set; }
public StudyEnvironment()
{
this.id = Guid.NewGuid();
}
}
}
新增确认部分
<configuration>
<configSections>
<sectionGroup name="spring">
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
</configSections>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<spring>
<context>
<resource uri="config://spring/objects" />
</context>
<objects xmlns="http://www.springframework.net" xmlns:v="http://www.springframework.net/validation">
<v:group id="envValidator">
<v:required id="environmentValidator" test="StudyEnvironment.Name">
<v:message id="error.environmentName.required" providers="errors"/>
</v:required>
</v:group>
</objects>
<parsers>
<parser type="Spring.Validation.Config.ValidationNamespaceParser, Spring.Core" />
</parsers>
</spring>
</configuration>
第3步:验证呼叫
StudyEnvironment env = new StudyEnvironment();
env.Name = "test";
IValidator validator = ContextRegistry.GetContext().GetObject("envValidator") as IValidator;
IValidationErrors validationErrors = new ValidationErrors();
bool isValid = validator.Validate(env, validationErrors);
这工作,谢谢,它比我想它会更容易:) – Usman 2010-11-04 11:35:22