# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# ValidationUtils
vlem-creation-warn: Could not create the optional validation provider. \
    Reason returned: "{0}"
vlem-creation-error: A fatal error occurred while trying to \
    create the required validation provider.

# ValidatorImpl
invalid-factory: Supplied object was not an instance of a ValidatorFactory.
no-default-factory: A default ValidatorFactory could not be created.
no-validator: A Validator provider could not be created.
no-validation: A Validator should not be created based on the supplied  \
    ValidationMode.
no-group-events: There were no events found for group "{0}".

validate-failed: A validation constraint failure occurred for class "{0}".
validate-property-failed: A validation constraint failure occurred for \
    property "{1}" in class "{0}".
validate-value-failed: A validation constraint failure occurred for \
    value "{2}" of property "{1}" in class "{0}".
invalid-validation-group: The class "{0}" specified in the validation group \
	property "{1}" is not valid or could not be loaded.
factory-create-failed: Could not create default validator factory.  \
	Exception:
