This validation library is used to validate closure and descriptive metadata as per the provided metadata criteria. If the input values have any errors then it will return a list of error codes. You can use the error codes to render the client's specific error messages.
- Create
MetadataCriteria
for closure or descriptive metadata - Create a
MetadataValidation
object with the criteria - Now call the validation method (closure or descriptive) with your metadata
Example:
import uk.gov.nationalarchives.tdr.validation._
val closureMetadataCriteria = MetadataCriteria("ClosureType", Boolean, true, false, false, List("yes", "no"))
val descriptiveMetadataCriteria = List(
MetadataCriteria("Property1", Text, false, false, false, Nil, None, None),
)
val metadataValidation = new MetadataValidation(closureMetadataCriteria, descriptiveMetadataCriteria)
val metadata = List(
Metadata("Property1", ""),
Metadata("Property2", ""),
Metadata("Property3", "test")
)
val closureMetadataErrors = metadataValidation.validateClosureMetadata(metadata)
val descriptiveMetadataErrors = metadataValidation.validateDescriptiveMetadata(metadata)
To use the updated library locally for development, run the following command:
sbt publishLocal
This will place a snapshot version of the built project jar in the local .ivy cache folder: $HOME/.ivy2/local/uk.gov.nationalarchives/tdr-metadata-validation_2.13/[version number]-SNAPSHOT
Other sbt projects that have this project as a dependency can access the local snapshot version by changing the version number in their build.sbt file, for example:
... other dependencies...
"uk.gov.nationalarchives" %% "tdr-metadata-validation" % "0.0.9-SNAPSHOT"
... other dependences...