pub struct MessageRules {
    pub disabled: Option<bool>,
    pub cel: Vec<Rule>,
}Expand description
MessageRules represents validation rules that are applied to the entire message. It includes disabling options and a list of Rule messages representing Common Expression Language (CEL) validation rules.
Fields§
§disabled: Option<bool>disabled is a boolean flag that, when set to true, nullifies any validation rules for this message.
This includes any fields within the message that would otherwise support validation.
message MyMessage {
   // validation will be bypassed for this message
   option (buf.validate.message).disabled = true;
}cel: Vec<Rule>cel is a repeated field of type Rule. Each Rule specifies a validation rule to be applied to this message.
These rules are written in Common Expression Language (CEL) syntax. For more information on
CEL, see our documentation.
message MyMessage {
   // The field `foo` must be greater than 42.
   option (buf.validate.message).cel = {
     id: "my_message.value",
     message: "value must be greater than 42",
     expression: "this.foo > 42",
   };
   optional int32 foo = 1;
}Implementations§
Trait Implementations§
Source§impl Clone for MessageRules
 
impl Clone for MessageRules
Source§fn clone(&self) -> MessageRules
 
fn clone(&self) -> MessageRules
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl Debug for MessageRules
 
impl Debug for MessageRules
Source§impl Default for MessageRules
 
impl Default for MessageRules
Source§impl Message for MessageRules
 
impl Message for MessageRules
Source§fn encoded_len(&self) -> usize
 
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
    Self: Sized,
 
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
    Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
 
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
    &self,
    buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
    Self: Sized,
 
fn encode_length_delimited(
    &self,
    buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
    Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
 
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
    Self: Default,
 
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
    Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
    Self: Default,
 
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
    Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
    Self: Sized,
 
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
    Self: Sized,
Decodes an instance of the message from a buffer, and merges it into 
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
    Self: Sized,
 
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
    Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into 
self.Source§impl PartialEq for MessageRules
 
impl PartialEq for MessageRules
impl StructuralPartialEq for MessageRules
Auto Trait Implementations§
impl Freeze for MessageRules
impl RefUnwindSafe for MessageRules
impl Send for MessageRules
impl Sync for MessageRules
impl Unpin for MessageRules
impl UnwindSafe for MessageRules
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
 
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
 
fn into_request(self) -> Request<T>
Wrap the input message 
T in a tonic::Request